Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752633AbdGDKhV (ORCPT ); Tue, 4 Jul 2017 06:37:21 -0400 Received: from mail-db5eur01on0101.outbound.protection.outlook.com ([104.47.2.101]:8384 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752596AbdGDKhD (ORCPT ); Tue, 4 Jul 2017 06:37:03 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=axentia.se; From: Peter Rosin To: linux-kernel@vger.kernel.org Cc: Peter Rosin , Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , David Airlie , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Daniel Vetter , Jani Nikula , Sean Paul , Boris Brezillon Subject: [PATCH v3 14/16] drm: radeon: remove dead code and pointless local lut storage Date: Tue, 4 Jul 2017 12:37:10 +0200 Message-Id: <1499164632-5582-15-git-send-email-peda@axentia.se> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1499164632-5582-1-git-send-email-peda@axentia.se> References: <1499164632-5582-1-git-send-email-peda@axentia.se> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [81.224.171.159] X-ClientProxiedBy: AM5PR0201CA0002.eurprd02.prod.outlook.com (2603:10a6:203:3d::12) To HE1PR0202MB2555.eurprd02.prod.outlook.com (2603:10a6:3:90::8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 325462f9-6d5d-45d9-631a-08d4c2c88c8f X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:HE1PR0202MB2555; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;3:yJcD/0hkigmQ37cosuh8Y7Minfym2+lqwQIDNWH/YRdBrZh3iDT4TU9wJnS3Fs88i1skcAHvUMcTEzWEufmjntH6R5adL17Z2z2TrKzG5vT5eZIIPquS+Wr/5ykdsalRSm+VZStYSAPz8KHk7VlSYPoRE7qEQRRO+O/gUl7RzvbZerD4D4FC6+x39xkmVnPIdPQPmJ97XuQMNqZZ5F9S1KPPOPyDJWle0SxZnj+i6yJ53S0QOsHHfvKxIPUMZx1TRGm89AqGNgllzbb0M1lMoFVm0bBUdsTWaoZOBmvxgftEs0nUr1TlbIRkrdFeY3whHrxyRTQUaAUbfatolpSy7QuFvpFiThI8CLLbumGis8sSJ4ArOUhfyfreQjU9ndhTM9yXEuu2JlopCf34xRJfDAlyKFTPT+lZ0ys+KxYVyCI+Xxg64nVqeQOEKurzz/eWXDQeIkYYQdLyS4wAOGi+NfeNdhQqrUxzm66OvkAe7MWmkjIVMLajSGsxks2bTC3UY4deInmKM+r6Rgh/1PZTUdMaG+TW0moR7UVvwBa7hki0siOIicWY86Oswbrx5acax+q8L7ZJsEqgBtUmQ436fZeYYf73sbY3J/IiA/+EHV5HyNkOEZuC/gvt75GTgmNIXLumqGOUEkbotmLcWBvpW9k19mDyNIbKw5jMmJtRGgQhKP9zLrq+QQqKoyvM1d9gstLUtdBYgimTu9I3CiOE3Q== X-MS-TrafficTypeDiagnostic: HE1PR0202MB2555: X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;25:pbc4LksM+Rgywmy4dL4bZeC9MRffcf5grbJSNPDd3qCwDF8sIW7xohG2Y7daLyKMMIUJBCMWGHL/7UWpEeloUSqvD8QQeV/WxqfCrrO9qONds2O6mXJVedNDAd5hJtdbdXzBQY9Mo4yCSrhDnFqPmOVPQ8pizAvyGnz8ik8HfzQxQwClEzdqCL8mgjFJWGw8nnTd0hiiVLgqAkB5gZLSzy6fd9kbuQNdv7aOYGsB3yf+zhJjU9NkEToXeWhE+CthxL/7cqj1t83gwSYTAn+QYYr5KJtqnFhh7H2xqH3/dKF/Rk2pGk+iITqPZ6+vKNXS+soQtKzqWV2eJPXzD4PUUbRNou0CIUGhY19j3NvQQgMp06lAQg0TuzkzeeaLSz3ZFI0Jq5v4R+sH9Xc++IgmJ3pjE1zlvHYN8U4+MngtX6qxkn25tBIgDcaPRiMr5yZC8oq4Ikqn3J6qI9KNPnc4784MfaBGQpvbq0l+DLkoXMwLTJeePjW3Pkft+Mvf6N+ZqVRyDMj0JXgWQTHAfR1JLpmk/jE0VONwrxDsGjZjcEu/U8KdsanSbLzjRmpFW9K7yOebTH3QxSS4PqqSYmcDvpCMcAmBCYhB14D5xboCh4jG/ZT3Blart4BIP8s2nbR7AF1X842GqC9DmAQwHRqIJJsINIEb730CrNO82fZ0KKhT05a+q5oRnwr+eLwghQjvi96sXAUcZTtLHOnCKjDUdBhyuO5/Psu5V+zGQWg8ShmwgJlx19O2YvQyYHCs06b6yVDZUyVOHtbw1jDQwcvNJJOBelv2G7fHgMuX8dvIMMwAU4C1FTRy1PHu8354Yvjs+U3TqaSQHlO7G0nhUOGcfoQ+GuPpIrE4HoZrTFrpm1CsaKxdJ2ls/iE+rep7OJLWMzuGDa5NKg39/N6M3E54xskH3OrzVu9nDyjfCy7bcWI= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;31:ETqB1wxNpAG44qtj2BdiRxPE6mF7hzwGBVfFBLeE2aqjHkoT2g2podjBLiLGLVxaa1FnXs8njq/HVyhgaJYISUfkrRM8qTylOi1oDZYILE/TU4XYSOTzI7gNsQkxDsXyxfmxrtci6uVIot1/Erx8PMz0XOrMpR1BwrTK1I/xvbYqVJDsuRqmSWFmhsFu56Gl5pLYI8CPsQtt/tmdsz3nhp7HjhfHHwahlQbnQepmGXnHh/LKxFuU0UrovtHQKF2rdlaCX/SvXtPX9BKVj/SCUxOFf9dV6d72TJeKBG5lN6FYyzIwTXNYhdoz+RvmddRhY2nNk5A5Z7kLsGDx36+2haZN2zioybS4BZcE+YcIhNQGXO/Gv9m2pxL7t+2w5KOEBGcA2LW3PULbfrDcVHj5xiQPQgxUj/3QN/06ydxarTizK3fDnDf/36I1AskUmv9lf18qMd5xvOe6WGkU3ZJL3tNreF+LeoJ/uXOJ/njLqU0qh++o+QxP6qBzpW75IGf0S+GqQBAsOoKue67QUzCAiHbmS1vNpUViv1iflRmXk01pdwFFa+P7NPQGOECunRfrv0AWa8jlsYiPpSWi/F2qebdhvbMEYD7npxVWakFPUWN26mm04FzTOGTVrDDkiDMEUtBMgDofwuqCdxClFVtwJPouWKZI8wHe0gqUL+RKz6w= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(6041248)(2016111802025)(20161123558100)(20161123562025)(20161123560025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(6043046)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:HE1PR0202MB2555;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:HE1PR0202MB2555; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2555;4:cga7NuQPRWA8WiGzJO/XCdZIb9MhxOMzjsUXzqWq?= =?us-ascii?Q?Mnrm4KDQxOkL6NqUenepo19pblXgkTRdBkNeSFmwbbDyg5t6vO4ZN8AqRra7?= =?us-ascii?Q?36UU1ZslmMNdMUFjaY6l1NpviB5v8hcI1w6GPHHbMIppS6qO2Tb6ZZoB9igl?= =?us-ascii?Q?pAU9TQindMyx8BgvlhsnDD7eSxBa1QXRPoqqa2CN0S3qDXRmY0biqAdibXae?= =?us-ascii?Q?XizSdwbuvdeq5MZjww2aHu9RnnwqNgBtT8ppvGR4VgaomOcJLW02K4lVhWf1?= =?us-ascii?Q?w00/CqQjCYXcgcCvneSPG2OU6PceP9SzbLzuAqH4yFLRLb2juxKcMMbs8GD+?= =?us-ascii?Q?JCXyBcK8d8eqKnZWJSUmDg3314CA0MDr4LDKoPTcEKQWKbjidjxPgSbqyMAx?= =?us-ascii?Q?D2syZ6MQL7QzKMVSW0VgjGFyPlxWJZAa8CZmYQXKCvz73XzZZR+b5Tpy7Ig5?= =?us-ascii?Q?KRVZ8OuHgmPtqB6LW8DcDT4OcQ7tljSyqbZgvvsgCrPwX+yUI/KLllRiAqeK?= =?us-ascii?Q?C4BmJLJl6Rwfkmj/2NotFtdH7sHOs8NjjOJeVwjrFXggcuin7z/AX4mFBDqT?= =?us-ascii?Q?5oCzXTHb9Uhaekg9AiGOzu9pbLqau8YtRdIwNO4IYG6GWBRmgO02ab0+BOks?= =?us-ascii?Q?fDwT+uzD03+/GOZBUGWev1BZ9uYYbb5lTvVwwOvG8wRJJTMjN/GX7+Dhl8W8?= =?us-ascii?Q?brBzcxsxy5brFxGOTrkP6npr9P+1HUhXnospax09eX4pQe5g+MA+4Hwocemv?= =?us-ascii?Q?ycn2YaCTUQWauJl97NH4LX9+Z3ickIaRfxRFlB0XW3O5TNgiYaDPpw1SzcsS?= =?us-ascii?Q?uRptT2iJHwgvI6wjkOmQpjx1SQNXKzPph7gaSfwjKUZNpnCT67RM2ep9Cnsc?= =?us-ascii?Q?ho4pc6sREgPzmbU/DTax5QcmLsEGTUwOdeBKi5eRkrKtyqW5E/hQgfuGYn9q?= =?us-ascii?Q?jS4+v2KbPOi+VO14tq9AfAiNF46Gww4rFcEMK9Jkyf88oGUXpG0Sc21nCaQa?= =?us-ascii?Q?oZtgTjV8ZX8M96gPCrTXBaQxSUPRtYAl+ZdturWfJ+Z0DqqaoPvdBjTHG6uo?= =?us-ascii?Q?SgkPI+ULzCykXIy+MdYZ82MOLMIuwWQcLQVo8PLvjUiq1TU49XSRY6/otPFG?= =?us-ascii?Q?nMIMQ3AkqSxnFkubRkeRojmPIl3WPYx2c//R9/4oc0Fkv5t/8rt54+mLk+vs?= =?us-ascii?Q?r0WmDnDHKBSYRQz4wtFsEV9SjN5tVDnAzNeMSo3xsbIfsm91QJEu9X1zRwhx?= =?us-ascii?Q?+los6PB1hnYTqYIgxa4=3D?= X-Forefront-PRVS: 0358535363 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39840400002)(39400400002)(39410400002)(39450400003)(8676002)(81166006)(7736002)(47776003)(189998001)(3846002)(36756003)(305945005)(50466002)(6116002)(50226002)(53936002)(86362001)(33646002)(66066001)(2906002)(478600001)(42186005)(2361001)(74482002)(2351001)(38730400002)(110136004)(4326008)(25786009)(6506006)(8666007)(6512007)(54906002)(5003940100001)(7416002)(6486002)(6916009)(5660300001)(6666003)(2950100002)(50986999)(76176999)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0202MB2555;H:orc.lan;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2555;23:Cy1u7HFboLFubUcHrcCT2yhGik5jQ2BFIKwdPT5?= =?us-ascii?Q?/dtcCpuEOJhPnJ80NiOBtTbXYBZdw78bZDBy8pEP+2OBqRCIUVKMRN+LIhfo?= =?us-ascii?Q?yqogkLU9UppiCR4Yf3e3fs5/EqtG1gk9HdogycoexNp5rOGX5lETCIXCWe8s?= =?us-ascii?Q?koifVpZHOPBpG0B/q7+8zQndLNVj1pojpOznapYNINAajLRN1Q2o4FumoJlN?= =?us-ascii?Q?ag43USUYCZg8AIu5ENS4rlHJzywWxFEw9uKKW8zJkMzZbgw40plVbUaPLg5/?= =?us-ascii?Q?datj/NrkrtGIKOxHpQwaJOOrIPlgHvJ2Bl5z/o43XPeTBHQMCwhrddgD48dW?= =?us-ascii?Q?5k1CPcsMgeSUfMz0F8sSAcrQwb+8NLBQ1XtB3JysrzXPIUKIjf+ctsRUILe4?= =?us-ascii?Q?9XysQOziEhSaAVJA1dukMPKhIPb6JSEpUsJxNSdIWEOtFWYOHOmWRk77R5AB?= =?us-ascii?Q?/nN3UFc3p4QE3dS2H6XFALb2EVMxRlqDuEqMUChNmMP1f7BmA3vIvrpE/2e6?= =?us-ascii?Q?vtnAcP7lxJOWE59sRz79GknGeecmfdUUb+paBRq9kwMQxtqWy1y0+GVC+pMU?= =?us-ascii?Q?zg79LKOxhHSoE0BvnQoFgbpHdFJdW5uMxQVvOebut9bbuTseXgrS8FG1YmiD?= =?us-ascii?Q?2cwRYRHaCUA2t8yH7zfZpwAGlMMT5Q2Sl5TO9ZcBi7pSDOsPZ43KnlUbiNLK?= =?us-ascii?Q?PwTwkrtQdgr+0ycG0i9f++R40JW2CLucVe0jBhMK9EBQCqnnG7J00WujDZo1?= =?us-ascii?Q?8NnEJ9zLLdOjUtnV229vUN3Em7AJ2codDrtukIYKzNa9cP5n/nGyhFdCbt/Q?= =?us-ascii?Q?D4fcBwcwr6HNAJ8kkgjZ1ttZOxuI8+fgmqy9h176YcWgBz/Vyy9330rcy+3+?= =?us-ascii?Q?AkJ/fPAu+PLrdqqiRRwKnHhMQ+6q16OetadtbcyFWq6OKV8+ls0CwIF9rKEt?= =?us-ascii?Q?fmRGvHjrYYESlBlkwAhLHile0MPgwnPs/m6golTUvR4S8f0Xn0Y02EAM+0LL?= =?us-ascii?Q?/SbJv5maAYn6TA9Q4AKT46qOhnu0jsViaHjuyH9YjkR7xyMe+U+VmJHvpk+I?= =?us-ascii?Q?67m1baPxhXdDwmFxHoNpBF9dGDprEPyNwlpkCoZoHeE3/W/eRrTlNnb5XYaj?= =?us-ascii?Q?H/lKX7UQ6wls=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2555;6:t1hyX8vjVesz2lhqhEpz4jpDXlVTSdQ/Y9ayK3op?= =?us-ascii?Q?zUSNHgrQKFcgT1StdaESzBq+GoGz9m0RLm515TDA4FU+cwO+iAJmNvCgL5g1?= =?us-ascii?Q?vWKtoAaF9N3caw1iOy1TJlx4fUUCUZ0gygx936WqgGMsL9Bj4QrzWGkNKBHu?= =?us-ascii?Q?YqfoNBZabTadF7rCOEjWfuvbmyNv57xsH6bWNy/iIa3ASJRWVeBT9Elgf0G9?= =?us-ascii?Q?OYPffG3TLdpymW3dHjt1yEWhEs5xR2tuXmIdIyois7T4ihgaEIkzdHqnBj2N?= =?us-ascii?Q?YCYpmO47ZwxE3L+tGRUwiLpsSDPG8bkBDs42MReqspkDdAHqH9k8zWtAuSKG?= =?us-ascii?Q?ryN/sPMNiw7xUVecJyLB8ceDHkTCRkQR/UcY2HHE/T+qwq75l1lmXHPB75sn?= =?us-ascii?Q?OBf+gsYb/geiLu6xPVn2ZPn/i0uFVpbYCyFBshQyLQdxkrhtaPgrdAozs+7P?= =?us-ascii?Q?BUMDPOu7/leSOBAEUP1BjUtfaIrqxoa5MdpadOHq4B+GRKNKDWGEjgV+XaYJ?= =?us-ascii?Q?ySh7HQ7362eOOS4VAwkdujesQZDw0W2iilAZrpQToH0WEF140BfeesrLfqGt?= =?us-ascii?Q?/WCSIxxOxj/81Upo5ZNv/rrZXdbSnBURSlD6wGKhcDP31eGn6k9BcUraxfC1?= =?us-ascii?Q?z3Bnv8dBi49b9rCvQPTVJH25QCVKMFcrNLW8gJuoKfX+NKf9t3ZKfNU+V1bv?= =?us-ascii?Q?6/zdSzkrEtXFrsFRDCjEUN7fEq4JSarTo1oz6Ozlq6RN4s3ne//G76+/vxL+?= =?us-ascii?Q?he21nuLqbMdTfF2imvNMQYQ+spRgyc+TA3755CXIogyKYhZ9JtFRxRfhsMmA?= =?us-ascii?Q?23pUdwxt9XytlAveesHiFOItXjurbDqZBKuT8Tzzrzegaxis68CJdsENsEBp?= =?us-ascii?Q?FjknhxvumHq9antIkUd1xxpREXwYdeUKEUcotz2jcWRfR7mMDs++cywlu2FR?= =?us-ascii?Q?rCdeUDbsSu7F4YkYkT9O55se+nnxqVytWqRMvn1skgMJJBlq/YIYwE5Noc8p?= =?us-ascii?Q?8pc=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;5:0iz94CS7aPc0vr//K3gzBU1E/f6LVFEE2uZ67jcl4iU00VSQMPljDSa1GnebjP/L/OoQL2+B+EsB6m9dfRxvZXH93Wh+lCPxkHcyuHY/QcFU6nUtuIXHSnojQmwKTNvULuEOK7YomLqu61x9i5bZ154SjkKpAeF9AbY0KxmuwWlZIO2zKHw9fhHQht2Bvoefowfkx13VuxGkkxyOSkUBRH63D+iLPgLRZXoWdPFjEiFl0D+pkAgAv+HDPBBgnKV7Ak2Dv+FKeSo9KEl0FPLr4/2rDHWLEOxFP7e5z01Xo74xySAkFZtYsDTjz5vo/aQtquZ7mT+fS+pSQsfCHJhJx0PrXs7uF3LGrW+D1EdHcGxEYSsmXtXsajIGiHEER96KBqCFXjIg3GjvFTxjuhDpOSDEBASbIBrnkk3Ha9MnpbcChGff9296ZJQnHFEybxLpK1cJWf+f54kKZDdxsCJx+hrbojfX2Z7j/KH1gorNDSI6hjxSJYAqVxrUu8FA09pF;24:jRmkyG9Fki4oDNmrYhmnT2pOjDTrhLqqSR3Rx1fywmZISQGMYhsHBI0o24O6Xn9eF+veYdoCbp/Cyo8lpLbIXzY7u877+Nwkb71S6lDYUWg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;7:8bucPpmzOV4a4A/hUjx7s+M144cxdM9N6EUn6RIxtjbEI0wgLDGzlz6mraJzR64+71G3CF+m3MCVF9Q2qxT1bLNBK9IP4k2NZq3kBBuvWAvEdqGIILWYyo/Ak445wV1Mb4iIVS//zwS8YHJKaVq6txUnT9XQXo+ZHQB9KVmsTboQFJN+xHWZPUdoXd89nDT+GozrWyJZjhBF1/OxwKv1sWSKupBdfiBfG5trdpbxt7TTtSrJLf781eqK7P86DsBFfKLdB6z7yYVv8qb5rHzJDcbPwcPMHcvwYDKQiwBj85yoKlY7hfEfo/qdUXFPm+7v57P4a8yw1VH87W6e9r3ak3fZppM6QPgyU8RwK0c3XapzkqGVdfzfHbZbjslpw9Yyb/7yXiTIog7AB7QpFqsnHOzC9i6Yav5Mkupg+NeRIfh+Ivfm1zZtHvc7DYLK8iA5rJzKQGHCNBzy/7DZKmqsVmx1TSSQY/YDhFhCFkDo8Ejdisc8nXGJto8Q0TbrpLASboe/YErY6Ed2gb8cxPWZxyS+AFKVcb84U6lHjZK87dSCMTiwN2H4MD8ugHCh/9wSpa5L+K3IY2pMJkjY3sEPrC4FDVmhNZmQfrHgzEXXKImteZqOOn34kKcQlh3SHH4QR3Wk72DBH0wtNiWqWTfAZjr41q2vnFJIkWY+ajbbDYt5mYbDwQWqUyr/B2H0AjRHQ0GlmMVT+g8wSLSnwkPvKSOBaiqPfgxgnCxKU92EdLQlnrm4wuEXnjTi8ctF50gztQfuY/8kn0wsKq09v/Ed7ZuV9l0YGFFpqAkzUKRThd4= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2017 10:36:36.0099 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0202MB2555 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 8902 Lines: 241 The redundant fb helpers .load_lut, .gamma_set and .gamma_get are no longer used. Remove the dead code and hook up the crtc .gamma_set to use the crtc gamma_store directly instead of duplicating that info locally. Signed-off-by: Peter Rosin --- drivers/gpu/drm/radeon/atombios_crtc.c | 1 - drivers/gpu/drm/radeon/radeon_connectors.c | 7 ++- drivers/gpu/drm/radeon/radeon_display.c | 71 ++++++++++++----------------- drivers/gpu/drm/radeon/radeon_fb.c | 2 - drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 1 - drivers/gpu/drm/radeon/radeon_mode.h | 4 -- 6 files changed, 33 insertions(+), 53 deletions(-) diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c index 3c492a0..02baaaf 100644 --- a/drivers/gpu/drm/radeon/atombios_crtc.c +++ b/drivers/gpu/drm/radeon/atombios_crtc.c @@ -2217,7 +2217,6 @@ static const struct drm_crtc_helper_funcs atombios_helper_funcs = { .mode_set_base_atomic = atombios_crtc_set_base_atomic, .prepare = atombios_crtc_prepare, .commit = atombios_crtc_commit, - .load_lut = radeon_crtc_load_lut, .disable = atombios_crtc_disable, }; diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index 27affbd..2f642cb 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c @@ -773,12 +773,15 @@ static int radeon_connector_set_property(struct drm_connector *connector, struct if (connector->encoder->crtc) { struct drm_crtc *crtc = connector->encoder->crtc; - const struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private; struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); radeon_crtc->output_csc = radeon_encoder->output_csc; - (*crtc_funcs->load_lut)(crtc); + /* + * Our .gamma_set assumes the .gamma_store has been + * prefilled and don't care about its arguments. + */ + crtc->funcs->gamma_set(crtc, NULL, NULL, NULL, 0, NULL); } } diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c index 0ea575d..3d7394d4 100644 --- a/drivers/gpu/drm/radeon/radeon_display.c +++ b/drivers/gpu/drm/radeon/radeon_display.c @@ -42,6 +42,7 @@ static void avivo_crtc_load_lut(struct drm_crtc *crtc) struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); struct drm_device *dev = crtc->dev; struct radeon_device *rdev = dev->dev_private; + u16 *r, *g, *b; int i; DRM_DEBUG_KMS("%d\n", radeon_crtc->crtc_id); @@ -60,11 +61,14 @@ static void avivo_crtc_load_lut(struct drm_crtc *crtc) WREG32(AVIVO_DC_LUT_WRITE_EN_MASK, 0x0000003f); WREG8(AVIVO_DC_LUT_RW_INDEX, 0); + r = crtc->gamma_store; + g = r + crtc->gamma_size; + b = g + crtc->gamma_size; for (i = 0; i < 256; i++) { WREG32(AVIVO_DC_LUT_30_COLOR, - (radeon_crtc->lut_r[i] << 20) | - (radeon_crtc->lut_g[i] << 10) | - (radeon_crtc->lut_b[i] << 0)); + ((*r++ & 0xffc0) << 14) | + ((*g++ & 0xffc0) << 4) | + (*b++ >> 6)); } /* Only change bit 0 of LUT_SEL, other bits are set elsewhere */ @@ -76,6 +80,7 @@ static void dce4_crtc_load_lut(struct drm_crtc *crtc) struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); struct drm_device *dev = crtc->dev; struct radeon_device *rdev = dev->dev_private; + u16 *r, *g, *b; int i; DRM_DEBUG_KMS("%d\n", radeon_crtc->crtc_id); @@ -93,11 +98,14 @@ static void dce4_crtc_load_lut(struct drm_crtc *crtc) WREG32(EVERGREEN_DC_LUT_WRITE_EN_MASK + radeon_crtc->crtc_offset, 0x00000007); WREG32(EVERGREEN_DC_LUT_RW_INDEX + radeon_crtc->crtc_offset, 0); + r = crtc->gamma_store; + g = r + crtc->gamma_size; + b = g + crtc->gamma_size; for (i = 0; i < 256; i++) { WREG32(EVERGREEN_DC_LUT_30_COLOR + radeon_crtc->crtc_offset, - (radeon_crtc->lut_r[i] << 20) | - (radeon_crtc->lut_g[i] << 10) | - (radeon_crtc->lut_b[i] << 0)); + ((*r++ & 0xffc0) << 14) | + ((*g++ & 0xffc0) << 4) | + (*b++ >> 6)); } } @@ -106,6 +114,7 @@ static void dce5_crtc_load_lut(struct drm_crtc *crtc) struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); struct drm_device *dev = crtc->dev; struct radeon_device *rdev = dev->dev_private; + u16 *r, *g, *b; int i; DRM_DEBUG_KMS("%d\n", radeon_crtc->crtc_id); @@ -135,11 +144,14 @@ static void dce5_crtc_load_lut(struct drm_crtc *crtc) WREG32(EVERGREEN_DC_LUT_WRITE_EN_MASK + radeon_crtc->crtc_offset, 0x00000007); WREG32(EVERGREEN_DC_LUT_RW_INDEX + radeon_crtc->crtc_offset, 0); + r = crtc->gamma_store; + g = r + crtc->gamma_size; + b = g + crtc->gamma_size; for (i = 0; i < 256; i++) { WREG32(EVERGREEN_DC_LUT_30_COLOR + radeon_crtc->crtc_offset, - (radeon_crtc->lut_r[i] << 20) | - (radeon_crtc->lut_g[i] << 10) | - (radeon_crtc->lut_b[i] << 0)); + ((*r++ & 0xffc0) << 14) | + ((*g++ & 0xffc0) << 4) | + (*b++ >> 6)); } WREG32(NI_DEGAMMA_CONTROL + radeon_crtc->crtc_offset, @@ -172,6 +184,7 @@ static void legacy_crtc_load_lut(struct drm_crtc *crtc) struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); struct drm_device *dev = crtc->dev; struct radeon_device *rdev = dev->dev_private; + u16 *r, *g, *b; int i; uint32_t dac2_cntl; @@ -183,11 +196,14 @@ static void legacy_crtc_load_lut(struct drm_crtc *crtc) WREG32(RADEON_DAC_CNTL2, dac2_cntl); WREG8(RADEON_PALETTE_INDEX, 0); + r = crtc->gamma_store; + g = r + crtc->gamma_size; + b = g + crtc->gamma_size; for (i = 0; i < 256; i++) { WREG32(RADEON_PALETTE_30_DATA, - (radeon_crtc->lut_r[i] << 20) | - (radeon_crtc->lut_g[i] << 10) | - (radeon_crtc->lut_b[i] << 0)); + ((*r++ & 0xffc0) << 14) | + ((*g++ & 0xffc0) << 4) | + (*b++ >> 6)); } } @@ -209,41 +225,10 @@ void radeon_crtc_load_lut(struct drm_crtc *crtc) legacy_crtc_load_lut(crtc); } -/** Sets the color ramps on behalf of fbcon */ -void radeon_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, - u16 blue, int regno) -{ - struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); - - radeon_crtc->lut_r[regno] = red >> 6; - radeon_crtc->lut_g[regno] = green >> 6; - radeon_crtc->lut_b[regno] = blue >> 6; -} - -/** Gets the color ramps on behalf of fbcon */ -void radeon_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, - u16 *blue, int regno) -{ - struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); - - *red = radeon_crtc->lut_r[regno] << 6; - *green = radeon_crtc->lut_g[regno] << 6; - *blue = radeon_crtc->lut_b[regno] << 6; -} - static int radeon_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, u16 *blue, uint32_t size, struct drm_crtc_state *state) { - struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); - int i; - - /* userspace palettes are always correct as is */ - for (i = 0; i < size; i++) { - radeon_crtc->lut_r[i] = red[i] >> 6; - radeon_crtc->lut_g[i] = green[i] >> 6; - radeon_crtc->lut_b[i] = blue[i] >> 6; - } radeon_crtc_load_lut(crtc); return 0; diff --git a/drivers/gpu/drm/radeon/radeon_fb.c b/drivers/gpu/drm/radeon/radeon_fb.c index 356ad90..638bcb55 100644 --- a/drivers/gpu/drm/radeon/radeon_fb.c +++ b/drivers/gpu/drm/radeon/radeon_fb.c @@ -332,8 +332,6 @@ static int radeon_fbdev_destroy(struct drm_device *dev, struct radeon_fbdev *rfb } static const struct drm_fb_helper_funcs radeon_fb_helper_funcs = { - .gamma_set = radeon_crtc_fb_gamma_set, - .gamma_get = radeon_crtc_fb_gamma_get, .fb_probe = radeonfb_create, }; diff --git a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c index ce6cb66..1f1856e 100644 --- a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c +++ b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c @@ -1116,7 +1116,6 @@ static const struct drm_crtc_helper_funcs legacy_helper_funcs = { .mode_set_base_atomic = radeon_crtc_set_base_atomic, .prepare = radeon_crtc_prepare, .commit = radeon_crtc_commit, - .load_lut = radeon_crtc_load_lut, .disable = radeon_crtc_disable }; diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h index 00f5ec5..da44ac2 100644 --- a/drivers/gpu/drm/radeon/radeon_mode.h +++ b/drivers/gpu/drm/radeon/radeon_mode.h @@ -935,10 +935,6 @@ extern void radeon_combios_encoder_crtc_scratch_regs(struct drm_encoder *encoder, int crtc); extern void radeon_combios_encoder_dpms_scratch_regs(struct drm_encoder *encoder, bool on); -extern void radeon_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, - u16 blue, int regno); -extern void radeon_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, - u16 *blue, int regno); int radeon_framebuffer_init(struct drm_device *dev, struct radeon_framebuffer *rfb, const struct drm_mode_fb_cmd2 *mode_cmd, -- 2.1.4