Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752746AbdGFMUc (ORCPT ); Thu, 6 Jul 2017 08:20:32 -0400 Received: from mail-db5eur01on0124.outbound.protection.outlook.com ([104.47.2.124]:58096 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752442AbdGFMU2 (ORCPT ); Thu, 6 Jul 2017 08:20:28 -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 v4 12/14] drm: radeon: remove dead code and pointless local lut storage Date: Thu, 6 Jul 2017 14:20:46 +0200 Message-Id: <1499343648-29695-13-git-send-email-peda@axentia.se> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1499343648-29695-1-git-send-email-peda@axentia.se> References: <1499343648-29695-1-git-send-email-peda@axentia.se> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [81.224.171.159] X-ClientProxiedBy: VI1PR0801CA0084.eurprd08.prod.outlook.com (2603:10a6:800:7d::28) To AM5PR0202MB2548.eurprd02.prod.outlook.com (2603:10a6:203:6d::9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 53c2c83c-25a5-4d37-0f2c-08d4c4695252 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:AM5PR0202MB2548; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2548;3:/hoFPKW8yIeWnanl4vh4GmhnlgQzgDF4/itMWCd+/QWE8O/OFzzSD3ALoiFstx8Fqjl20DkBoESz70D3IvHGdvE/vYMzFheOGsrxQwi31U6h8L+xzC7yB2aD8IHKFfq/Hbq9b6Ideu4bWyBxt0WFXKF8JHudr5d9IOvUCjDvc9tPOyn8GN+eiHgmRzE+qTARTTGm56w0CVK/C1tDAVHUbMu8CDJTvLs3Lo84/vMib2U2OiITYM3Cymw/OrvW7RI3A7K86qzgBQ+FbKj7toOb2ytb9w2FswRiRjDrWCMxI8IfJU+IJAtPJQabWZAy70iknD8lJJGB4iwhF93kl0x+b50OrzqMSxlYF1XxuthjQ16ZkYOG249mmXwmkrKlr9ZiPwi5mNDvJEheGAK7Rpj/9FF3mr410mOZ91Q7KWLj5oBC9VY6hcE32A0jBuifG5Go6uOla8dDlaWV4mZUzASfRUNOr4Mdz4CuHkpBqRQ12zl2DT+jQ9tSzB8+v5ab/kJNAj9I4AtNmfSwiNkhph8sl4Y0LXmC5YjHxC6aQfYXnqj+cf6aT3P2ioPbmWueAHXd3DMP3q8cqhSPaOpMf9IsnxN0xKsrMIRods6Iais2UeEHstLNPycZ1JsB3Ud5fpiigR+OQEhnpvr1Gai4a94zbqvNqw/OSNMRbhxMGf3TSIVaqD1VdcnWUtnCg5YuxFZ8RkLXWma8IyJR5hlFhEfPRg== X-MS-TrafficTypeDiagnostic: AM5PR0202MB2548: X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2548;25:CHpSYfHyy4APszGtHgfCYqnfnEZ8hrcoZY0uqWWQkumM2Ov9fDerV/oz2EOYLZXZh7E9eRHuFKMVqKtwSFTnRcF5UuPdrx919HEz8T7dqhgE2YYbbYO/2pHBVt2oUk8WVhQFvhTK69TYRoEhYjxBFqmJdVEsXjhk4Sug5kRN7fPOdEQYvmACi9xPBQd82bEK3S5ZkbTJfCD5vjuGTZyn3kFb4Aes33K9kk925oMX/GheBoTzaJUdMOR8Pvxa6yOoPOcicOp5GyTpqEfWPb+C4jU7ggZkzvxIk6XvRVkDvHr5xxGy73RuXCaC1hHH7v0eLmuv2HT6YKQ+oMyitMusDO2YpCzjSb9Mv0JDkMzaQ1VxHZXumLCXwCHk1YyATRUxoiRGT41p7CqnTGcr69yHkJ7PkqtaMvLkUEbm+O6cglWYNmaP7gcGvo4WP4mleRu5mfidk1aVWPOY888LZaFHc53r7iDNl9J7ljgTOX2jygWs0tmlsM5fTpACiNgURHGCoPFCwNpCSmN1gztfoLkCnUl9GaAbKSOZrh2wteE0BbZ3kosGMFdkPL4BxY+Lrh1IxhuEhaFkc8W/7lrWekzqdpy650wfVCYBqCMg4xNGagD4+jQ1GMc2eZh0LY1I7sVKKFW/UPy/WSVJXzcnFr1EqkwbtjwAKBceqK1U39aCwlsTHTo7tdh9oMAsolaUme5vbf75rR+C1ujzlAV8FSkBv4lBcaHughFQ0v8+2YZnv+VfaGYXEsd7EFffQYx2TxlXUEQv2E0n8Y9tW+2A0QYb0DMC6Ty0gY2APh5Hx07q1pwe8WHSgI1tPnLzmeDMQC6X0eoz5SdUu/U2CmneCC/GB2wfvv7nOrwbCuV5em49P+4TeETuttuhjyFfZ/Hb2HHx7XJT0r4iBov8KREsUhYkIwqJ0WrjeMjqtmGEzxAPw9c= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2548;31:cmPpfGLwGmj+CUrzepo8uYqlxof9Q5Qen66fYgi5X4MAGBNnEpnLR1MLF8WDIfz5++uXn7jBYMybLOA+9bEbpgZdVaHp0V+1HSB+0ROSUXG7kEvgT7/6pNY5QQZxLec+efjyhMz3FxlCnzJErGUJGEMbUlvlUfDZr2+VdiA1Td25AZFgd4mdZjwz45lWgif7cvUY50/DKOIkxnvYTI7TpDevfhUu0uux8JImADmD/Cz46JEgZnsaZLeI1I/q/zGpEDJKS6ElEW+jJ3m21mkJTuE0kzrI1mnbC3bzvKqdFi+sRSQuy1wEJKquT3YNI47zKvKajxo+0InURtAkfLvzqL6EtPW5kSMt40p6CTFiBdOceFHYRJjfT4Eu73VXrfZjZJgwUErRn++ebqgLMql6DOZbwJZhrBbvBkOPvXj76l6D9vUiAOilB5Xw3wzvn/PjcWtaExuKIwyfmF7QJGpf3uZPjIbzaLntIELcSaDTKg1IAT2nB3Czsmo4CfJtT2jNDBJB38vlSIgGFrADdoX9Tz49ft0rlwzihqRcJqWhc2I1ivQUR0+wPBDx09gkhUohqvcuzPbZUhyY0+RgnaTf63FW9aPKWUqXSPt+qlxtw6ikX0YBo866N6AdgWcG4GfNb6b6EWqgZ/Ix8SyBizRzXn2fu++pbcqfhiIqNamMJlU= 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)(2017060910047)(93006095)(93001095)(3002001)(10201501046)(100000703101)(100105400095)(6041248)(20161123564025)(20161123560025)(20161123562025)(20161123558100)(2016111802025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(6043046)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AM5PR0202MB2548;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AM5PR0202MB2548; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM5PR0202MB2548;4:Hbi3QoxWJFb/d0byAQgHVqjjOy0NV1zmVNBUpWVI?= =?us-ascii?Q?bDJfCVFS7BcPH03GqD9nlaH9mbkEYDWmVTWqHvqdSCl6FEeuz5Vzq8bW/rZs?= =?us-ascii?Q?p45lL4h6Q5MxQVgJOa1kTINCs9C6wOTFDJGVgPCTd0yz4DYt8o9vnd+e49hl?= =?us-ascii?Q?QnJOuzUg4ulbWYm2aDvuMrrawqypAwgAvS/q1WICP+JQakLXgCXg6UI2bkyg?= =?us-ascii?Q?pl1KA8rBIJ+ck7Q6YfFTSl1lB6tuFEba3Y2S/ZLc3ngJy+SJoWIZ3QQM+qxm?= =?us-ascii?Q?NTErDO4s//cQe7d0DvKoTSByfNO93IcM+sqez85WjPZ/pTTCCUixIqicL02H?= =?us-ascii?Q?l7zdtllN2n2ehnMszUHwd6uM94FtQeRdlyWBBjxk902iIWV3bCBQ9zyvMoAz?= =?us-ascii?Q?jhyiMei5B0bnV0bsEnVR506D1RUktYraXCooRgGnIeP2NQSuFPCVCceilrc3?= =?us-ascii?Q?zxaHi2qmQ9Dxa7VNr5E3/oUKN7HESujB+f0+JS+Fji8iwkO+HQWimAEVMVX7?= =?us-ascii?Q?awkSOorP2DJFbKVOl3peO6+4h+p/Fmqh892e4gMcC6h9EowlgJcdzlEzoxHY?= =?us-ascii?Q?QCEKq3IMPYR/WlX1V0qbrgRJeLflNFj6m1+t72KdYpaOSiYVBjKhkarOKUgh?= =?us-ascii?Q?/G7hcTrBvRDP3dNyrQ+cOg0CEcwoRzn8eZVhoH7QkMa44J9CDeG/RH6+iEaO?= =?us-ascii?Q?NOxczY6hkU6rlE7FLdbRxY0sJHhOtyGHpsKLa/kbyBn8aXhxk0hicREYoaYE?= =?us-ascii?Q?HrFK/beB1O1EG8g0Zu3zn5aHowXM92gB1KiUh7iXIuebhh45YAtwv9fwo/L/?= =?us-ascii?Q?IQP8fsfCURMSvNyKi8Eu1MHTAGQhEfSpI+lmsE4KxFttO17Ws3Noefr0DYA9?= =?us-ascii?Q?geiKxoIah33z9xpKP+hGorNpt/qn76R0hyCmhKyZENu77Y27wVx7de/XoXBL?= =?us-ascii?Q?UT0PYA1EhTYh9gUEW7HtOSi7JxBADW8DUvlNdxqQpJNJpxzEZ4jmh7BJdwvg?= =?us-ascii?Q?hn90SPqnI9aeibKbnsr5dni8884dpxFogBsKkqLN261zuVqU9lXrIb3jfp7h?= =?us-ascii?Q?tO2z3/SlAagoHSx/F2pFC1hPawLJq29kWdTE0tUmCbsU+VllrePTYVwdDzWf?= =?us-ascii?Q?VMKQp86GYWljwHEgccsCyDCw4EDV/nO8XJSFc+S9R1akJVKxUsk9nO5nWcAI?= =?us-ascii?Q?XSX1S0m+UTP8iaRqhBxNnQQVqtyZUZxYItDVKYiOaFlxpZ6KoJCqBRg3iZjJ?= =?us-ascii?Q?hxCV+fcGWNoR9fKj2SVlOHyxb/JgxITWjLePbI1c?= X-Forefront-PRVS: 03607C04F0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39840400002)(39410400002)(39400400002)(39450400003)(6512007)(66066001)(7416002)(33646002)(5660300001)(2361001)(6916009)(2351001)(478600001)(2950100002)(6666003)(54906002)(5003940100001)(38730400002)(42186005)(50226002)(47776003)(110136004)(6486002)(305945005)(50466002)(189998001)(81166006)(3846002)(76176999)(8676002)(6116002)(2906002)(48376002)(50986999)(36756003)(4326008)(7736002)(53936002)(8666007)(86362001)(6506006)(74482002)(25786009)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0202MB2548;H:orc.lan;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM5PR0202MB2548;23:tkIPGRctsfTp7aoL3no95tgDy1gti20qz0gZvtV?= =?us-ascii?Q?Yu4OJDMYwXQ8g1OA47GmSF0/Q2ITMCrgm5K9mTN6h78rhZ7GW2U6vTOZzFsP?= =?us-ascii?Q?ts+BRrEjLavNUS8yMyE6KY4LbiO2uaVJFyxjFnkV0VlBCY1zU3zhl3upDOxJ?= =?us-ascii?Q?fZToZKfJxchBGwGdwmyydEx59FcmnrlH9NaTbLItBcJc6cC0L70g/50XlEcj?= =?us-ascii?Q?G+JvbzlKuYihpwCozEaM/Kl1KecD1z1R4fJerIHRE2aZHnZ48EwHCoQq2smu?= =?us-ascii?Q?WR8LaG0+BIks7Ike7wc1xSoJMDZbDC+c85K1W2yCljX++kslnM5SIK3LZS25?= =?us-ascii?Q?898yKQ+SoQcJh7UPto8SKh8ukgNtWhzQmYCWI7GQUOJox2Yr1Aq/O9MpD6pV?= =?us-ascii?Q?DHJAXOZTmW3tzusQ1X0ZTcA38dSHyhohspVVk7K9/cDlGt9Z0K8RKD2m9VZN?= =?us-ascii?Q?SkfCbE1PtV82VIg51WlsYq2z3YmjcF40IilGJOTDzJB+V+9KDaJ94VOp1Mc5?= =?us-ascii?Q?cfYgSJJxd5EPfmJipCSY6x4M5fBqn60rBfGOd08eFMRVtALplL/F3S9SrTdS?= =?us-ascii?Q?GhYi8RNPCFegQDEVj2Ezy/Kce6Pt8gi8LsnA3MPtiWKtohr5fkWc4ArkEqIX?= =?us-ascii?Q?yjwXToa1xMSphZ5A/UOvuMvgMfUVTbVZ76bivBZxGyexlImY/FY8YGA+uFJ2?= =?us-ascii?Q?saWoAQGBMMqS0/2/Cfn4Q2VgiEj+NmiO6CdJX3oxjx8eVV3yykBewdOsvJ/U?= =?us-ascii?Q?hPmbgogL+d0cGaDVPNjES83B8a4d3Cdum72aDQeQUzik5lehs41+U4LdlPfm?= =?us-ascii?Q?frEFUgLkbLX0Dvw9V6CRCwNbMuHFeAaqYo3FOW0j6RrG0VxJP+E9q0npzmZ0?= =?us-ascii?Q?OAV0z/nmuQTqJ/zH/y3oAizUI3SDa8X9yG9FRnM6z7ZGtZkTEImo6MXEFLTI?= =?us-ascii?Q?ylXdUb3W9LPURCuNVSjs/ZicJD+vbxCZSo+q9hEBRoygPobZhUVPW5U8ZtIn?= =?us-ascii?Q?JIef9P4Cg/zs1WJHTyftTYm5rN8VNqMUjuKjh/ZfyPNRg5hAdSuaIVC66Hgv?= =?us-ascii?Q?NO5d+OVCTQ5f8aQTKAplhqKiypdLxP7Lr96U0jIZVMRoCj/3HlzBSk9ivUMb?= =?us-ascii?Q?+nEgzk9PX6LhxGzKPMlG7nDzDL56/tgGA?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM5PR0202MB2548;6:BhWMa0HDoSDlpF39T9d3MSuMch43PfDAn+wp+n3u?= =?us-ascii?Q?MYsxGqRtkWyysniXdCs5ZZaZ94KueePFIKzoDErGs8YS5ZEE+f8eBW1cPBCH?= =?us-ascii?Q?2U5XPXeTcOHEizw8RyIQiJkX53x6rpJ0PBSu43QaJWZAI2evb1Pk0RV260h2?= =?us-ascii?Q?D6k+o7/1uwcLIGWpcpGVbr2p77/qLKGG+njwvzGGku1uHCY0EtPfhf56O+4I?= =?us-ascii?Q?l58hOfPc+hLJVt+DBseOESd5Cics1x/nvhBIuxIBHLxkv23kDUHKlssOwDx6?= =?us-ascii?Q?T7CN67CtztyK30Oo6Y2e7uyvj+IOetNSeMH+Gcz6J8wAKqTERxLyfsEnJoxd?= =?us-ascii?Q?Y1OKn6zLzdUdLmDpY3mvx2g8dKoQdT3nv9VKLql/fe2EtInpK6gZ5wnfHMAx?= =?us-ascii?Q?PDd4nHrNEsgdAf3PG+V99Y+yPkcXM28uvl6Et+1uw6jZqFNyzrqVwOfR8GjG?= =?us-ascii?Q?PAK+ue8yr059ceEvznl89LgaE7E3tVEyWryKSG7ZCF6zV9IO667v5v9CPGO1?= =?us-ascii?Q?0CWiuhTB1KUCmHL3wJP2/pDTLWfMQ3vf/jq+7XtbtBG0zGRQvQnNxgUSNwj8?= =?us-ascii?Q?3IEPynsw8AVWwAl6BLJGtWeJmuJx1qecy6oPtDfc4xxANqiFgRRl8w3LV4br?= =?us-ascii?Q?bSiC7lHkgYqaKFd/GDdsKflelxvLbnet2kwN4fKc+5iiFJKsq1AoS7/Yo8UZ?= =?us-ascii?Q?wtG2e1zVUDkl1j/Q2FmnuBV9kOXWg1nw/rRgIyX7cn8RI8k4PyIZ3puUEFVq?= =?us-ascii?Q?1ughuWa34DUmXdFU8eBb5NLAJ2TCS7gbNkbdvSyqRE33JCxfVyti6jow0PB2?= =?us-ascii?Q?kMhNJ30k51zL5Sk5eQbDMle20Fy7Z2fgY9As8fecluYXbz/+crP17/ptiRka?= =?us-ascii?Q?vo09v8CmZUlENJzl/S92+1DBSsdq3fOLNLuvUs1OXDHoZmWNUYOgCGiFn0Ay?= =?us-ascii?Q?Yy9oycw0/8mSGuColM+Kxy3chBm6VP8Av4xLutj8RtkQlqLxCJcImqb9AKln?= =?us-ascii?Q?RZ4=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2548;5:nsrb9t3F/qP+qL/OksiF9Kz5rdNvkG4MOTVrbHH+L9ZTM26U/x1NHBoJg+8ZYkfbAq9QCKBGC9CLteWk1lcfGFPcUj1gBcQdVducWcEZVNgfsMfhmA9DYQR13pu42KkVsr2Z9b87yHj87gD2nAyH8vIDA6nR6KBT01IlOsc4yEIfiXu1JEV+IAOdWcXfBbg/q8qjQxW9kBbOFRmUiggygNPzPzvE8B7s6jXmVyYmgwux/nRZC98l0vMldaR+xkLHKATHFIBE9PkezjHzzMEe2I2oYnIG8Ti53s5gHtJax1oNj1R38icG0ICLCLz/BQob++FIzPuSJzvcF1bcuIq5b2m4OYDYVColgD8mKaQ3RWyoQkf/KucFp3GG3hT+0OJw3IZsSIXMYEpFdq0wqDj7h9XoEOpNscYKwJISPLA1h0Yo18Z3ooK3wFWevhm/PdeJYfNZMVExc53iLrjWw7hhNeNA89Zy1kXN4EnhFoQNjU6W/6U/64w/cqmYdulAKDVx;24:YIero/gJPqh6XNB7FNknsLOweEd5mWazAyMwQafo9OKLuJA9V45EZ6/av1f1GqhOUqFkqNZ2svo71Rj2Bhd+AHX+JEarv+op1h0c38248sc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2548;7:xdHg9lcveIFxED+2rKsoLmX1Km2hBiNP34sBOr8OXA2FqQPotgO2Wb41xczWI+mRQK+5AP0C4CVxukeEQakq72lQ6jGJQCflOxKWhTt5EagUtS/PysfncpbEFO9uKTtAxmdlGnLfRI4K7j34lIlSNivgfj2RMpP4Tc40yO3bm8ozN9EHshUBzckoU01DXH4I6aN1/Uun1Bmqk0ApnA4yjOSy0cOFjykEDglDRMG6iJctFYsAycO2wG6RAupvRFV9fRNU7RRXAupRt8/HHDcLerG7k+ty2cYnGpwgKm1e39iKrD2bdC8fhhSIH/fhB6XXgu+0suRBxJApo6tMwAvdgQR9ussW/FlbymZQWntnW71HF+pP9pnZN5s/wcocIGwnnIMx7TV77sDDibch+wZZ0XDTQwgWWmiHK8hjYJfACgf2kWrJd3L4fSeo9g6/1Cx5ooQmrFSBRn1IJnV8Kp4qRAc2otWhT9Drb+igHcI3Zw0L3gDhfZGZxpY55/mhmP0gGBrVsh+tZxINa7CBa/qH+onpEC5pgQAK9WYrx57kZAmnFKMWc82L1EHLUGqxlB9k8fdeLx5RgD7SnLsumBE3MZ2Y/FW1JMycf+q0u+bvxsyzH9FZt6sn6scwGGt4lnz27SFd9/qdkjdxwDhBTWNiI6O16huF2Ya85jxHi0WwIwupsvJh1Osu19WuwFvFro+E5edFOtU7e2i+kgpEm9x9NNe411lxTm05+9h2JM7vl8ETQPL36cA/Gd3j51eURRKasTfQV+yoxHqGVGwElqtfy6za2ZsvPgCctEhu4UjWb8k= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2017 12:19:58.4364 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0202MB2548 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 8908 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 17d3daf..8b7d7a0 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_modeset_acquire_ctx *ctx) { - 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