From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752923AbdGMQZE (ORCPT ); Thu, 13 Jul 2017 12:25:04 -0400 Received: from mail-he1eur01on0126.outbound.protection.outlook.com ([104.47.0.126]:2649 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752599AbdGMQYy (ORCPT ); Thu, 13 Jul 2017 12:24:54 -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 , Lionel Landwerlin , Boris Brezillon Subject: [PATCH v5 12/14] drm: radeon: remove dead code and pointless local lut storage Date: Thu, 13 Jul 2017 18:25:36 +0200 Message-Id: <20170713162538.22788-13-peda@axentia.se> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170713162538.22788-1-peda@axentia.se> References: <20170713162538.22788-1-peda@axentia.se> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [81.224.168.30] X-ClientProxiedBy: HE1PR09CA0048.eurprd09.prod.outlook.com (2603:10a6:7:3c::16) To HE1PR0202MB2556.eurprd02.prod.outlook.com (2603:10a6:3:90::9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 019fdb3a-2b72-48e2-0fb1-08d4ca0ba8b8 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:HE1PR0202MB2556; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;3:tz7GCDajMCCqrxnRo1fAx/hJMLYu65j4x7Z+IMriuNFMw3bdG9B6YWmo+OMekMwOcCVNr0PfCZflehV4uT8gicQUVl8HdYM5mu2KjE6soT3kf879BMi2OrAo+hsqQicDG3swWlGb7HFR/NFB74VviPeGTNXV0rvi/jOK16T328NVc10V3riORwR74rv0/XYYvx9yml7HVbNjoB4D9xyM396/mt3+zAS9yg3n3lCc0qilELIBhmENsIJqpvIKrUP0ivW7/LY3/W1mNKQ59fzvjThNu/ty2WhVlJYSxkELvQdsy8F8fRTLwrxXld7afbI8vFqXVbDoed4HFsbscmaMmn8Q8JvK0ZdBnCnEgc/XKJz2jakleq/3XiiTkYATSxjzeBSKi+Qw4KhYz/IES1HkkOsQnTpys3ohTIYgcAPRWh/e54ZtSYw7x0ezrBiUSC+PnELtixK79zdUcL5pf+mpoRdVABkywJjGgACh4P77EdVeKFHr7C/DcqseMpyMWBlLLDTgA/tMwzZ1A1PUR7ypZ6JgDKoFnkQer9wwm+XfZuXjc9jRIFlXh/+iApV8SS6S560U+IZQuGJpy4KSBdUv4H8EdJK6ZssDuzLCgqQstd71/aDJXOsheSGOxnovWlVtNL9rg7U/msH3zhmRQ+RKV6fCTmcHel9RLBLS40q0JZZkiDr7kA5mYRwGj4jBraXmAxlzXnlpYbkUGAO8Kn963g== X-MS-TrafficTypeDiagnostic: HE1PR0202MB2556: X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;25:zd+MwrwbdroLshcB833//lHLxFIPpRC+qqf7Za5ArYyQLFXdHlgTspKewH4Czw7VJPVraiFUY+e+6EnsqV73NobnC3GHspdCKZ0pMyH9pKhfmXoYsVpp+TzNTa9p6BhaOYiKrMCjHKOOwoJsetW0Mp7j2AaEQbBi2MEKUY1/365RlM7mrDSjNytS8LeAPodb1U+6yPsllCRamytjAp8FrvDxrOomk0WMyPPh+6jjy46ZaVhme+EnZOCTPrzBmKSP+1RVL3HirZ6wO+VcQ2i//oZLcQUFwLUMHQ1YKRUs6Tq3pLciWxrao8b/KD8jWCywSxQRBRqlPl1Dbb7+tZOEDADRDjIwnDPOTQj6cZYOA4OSavO0X65l5oHBAJdzb8D0NEJu/3A0m/fLjupyFu+6SlUwvSKF96TZthN15UpHny7DygMf1tc3wNj2Y9Fk3yMMJrThxzxUYRhajUGFUowQoURH1lcCGemOUMEkvzE+i7DD1wMtFi9pByYDmC8FCO7XVfAJJPZBme66D3w+gy7CtYTWuMHx+I5mnIsYLQpuDFAKxIRL6+ekAXUAL5cJY63eIlH2u7r3Zyg49mDOBjIZX0Z2L9Dm9HjmQabIdKKy9aK3bZ6cWKmgCfAn42QLZruaNR3BiVqbZ6ZR2ImlSWcEd5k1cG00TbGykem2QEn1PcaGOxe5oepRmvV6f8LeTFOYHcZcqvoOrXefpH3EK5HS5+n60onMF8ajGy7uvB7KlrFlExTNOUmo8/tplr4y57cUOVUWHhlFVFEcRZCk0DajKc4ifaQSeYo5qoxQha6T7emILtUM2+ptDsqQ+cnyEXEynSMN5h8yaTivd5j8PEReb/2g9pWRBvX+rlLi2USY357btApCD6EqiSXytgGe5gtY0gU6uqiPMhicqrlprVyOaKmAmvKvnpDHWv94QFmHEdM= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;31:AZo6cmdkznE4OV9JVPQa0ovKkEOYp8nGeNDnE5q62/8gekj23ms2UhDCfiF+lP7AT6uH5ACHnc8Jwg3Z/K7fmSfU23sdpEYhJoaNOZP8ycNIV0icz4vnpV53d3FcY8LmTxxTrOPdUbBj8iuXRBXm9g6NyzZsTSTKFqlQaiRtVsqkA9prujDDjq5RiyQDZs6dLtdF1lsOLfuPoBZ+zfV+JahiWckTNVHLxk65SdPBsWoDKdr5khEAytMHRdMqSUwBm7yZwQoIQ8KcW1MmYsrVokGhPTRS7jDqp2tghWu3OAapAtSZu3ZfudK7tfALzmuISaCN3dDkyxEO7Ps6/3dw7OjXvud8Wh/zHuSi0aKNKSN9TbFfrLVSJezrUJKrdVejO/bRUU30dAlGamTRzSn3ew+rIPy3nSo9xrPkpz7/O7Uss1Zcc41X3YvKifCfOkKDR/6jmb9WydyqBnBT92/fSSHQ0t3sMo8E1Y0h9dcem8KSSVEc86d4NG+fGhj/jBtLO1PxODGymoidTsPrtiyoKlVtpPe4YIqPNRnmCEHpj6VdT7Ekrpz7xEDufGSxLIuOWj0BpxudnLwyda3g/6i4J2HSOYJEE1WEYQgF0xdXzv6CaSVTluyeU1xBljBSSj0r7Fb7+RJgVDq5U5pkv/7UNbOTjHzi3+H/EMYYgv8ZTN0= X-Exchange-Antispam-Report-Test: UriScan:(236129657087228); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910075)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(6041248)(20161123560025)(20161123558100)(20161123555025)(20161123564025)(2016111802025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6043046)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:HE1PR0202MB2556;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:HE1PR0202MB2556; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2556;4:ZG3lyk7JSIvxZ/oa/Cr7+zupFNCetj9YwMsyGcyE?= =?us-ascii?Q?L/i3TVfZ4zJrS85pPbQLN8ExcnsgdMoX/ZcQyF5w/fxG0mbcKSBsnfo3j9WH?= =?us-ascii?Q?aUOnKnMk39SnnBUWjVh3Pyo7Jgcpo2Od8yUJ3p3YK6IlbppOZiAU1PxopfdO?= =?us-ascii?Q?mLTUH7wP3RV5DRPTqvsAmxOIUZKbYu82O5RW2F9+g5q+dhZwaUO8Qd6gvvcO?= =?us-ascii?Q?TWvi0JbYkdFD8noF8Fo/0AfQX2yFmi2UlamMz2kK5doqkGlzJDZwU77Gv1Uu?= =?us-ascii?Q?IwkAgY5brjLYRT4aelCf/GWjc8AV6437vomPaFFmnnChxZL8xhozPLcbPOCU?= =?us-ascii?Q?6cB4CNH2SWnHom6qSrmeQshu46xjkGaEPdivVLUE0PMptN6oSVewAkabovJG?= =?us-ascii?Q?zaako1C+zv6e4LGEUDvPKgbABrUqLH0CZR/fvDpyn18SLBU3JQD4hiKB59V8?= =?us-ascii?Q?Os/Ovkh1eQDFgdkO2hGFKSvlh1jm49WqjDZo+4CL2YGW9LX75E6oYCRPg9/8?= =?us-ascii?Q?tP7WvLs0kiDCwStaLbwh826NMw8piTk/+JqooYnWyF8YXEwkX5MYwIFl/9uU?= =?us-ascii?Q?eT4hLIMf8x/zoE31QRshxjEuEdTYg/jmKguT0sY91Phok0PjP+ab/bz0FSYV?= =?us-ascii?Q?r2qW0d6qxQAVTKSQN6rDf3nqRt9DbH5aqax4zBSmhRWWsC+u5I8wrD/2vmqa?= =?us-ascii?Q?xM2Xlr6dSt4Wd/riw0tAU1hMCw7tUr5LYwnQK4jVFiyXQ3vgs2oj31IQTuDe?= =?us-ascii?Q?aXSVZ/seU+kcT3BqpeUpfhdESOXgl1T3li8AWjOXZX3BGZ02D0SYJq78Il8B?= =?us-ascii?Q?tLUeKgrRoXpL1Qt23LBzoQoAINCMFgDfF7alMqWPPo7vc938kPIiWF3nO3Ga?= =?us-ascii?Q?xqwi1yEjfn+n6bMuwaebjPtmR1IiKVsJdl0Gc7RYYaIfp2IBou+Y8FvTuFEs?= =?us-ascii?Q?bY5OwDIXUV4MK35cyXbNdcaoa+fCWp81g2Mo0Ekca2XXMmlyvMV2Gk/ipHT5?= =?us-ascii?Q?08UqSB1quXeIgslMQ1iG88jszJiUVY8Fg2VMAxJYYM4Po3kHjB0irhJYv829?= =?us-ascii?Q?PUexkJpSkyv504sxSnF9FQCFsA2y1Ws2YIIeco9P9KAxlotWwPyK+PiyILz0?= =?us-ascii?Q?vE8aPB9eZ/M726KvXF7swe27KoDYd8u8fB6QdHep+oJGNSqalij1oaD18XmT?= =?us-ascii?Q?4jFdCU09ibSpMnKvsTfmxtwbMYmLfeZrypcTryISmpwAE75udU8xZ5KV45Ma?= =?us-ascii?Q?PlVuC1YPyMyVPrlatqSgTjfdlYJiVQMMjachiaqE?= X-Forefront-PRVS: 0367A50BB1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(6009001)(39840400002)(39400400002)(39410400002)(39450400003)(54906002)(8676002)(81166006)(5003940100001)(50226002)(8666007)(6512007)(6506006)(38730400002)(110136004)(7350300001)(53936002)(6486002)(7736002)(189998001)(5660300001)(305945005)(4326008)(25786009)(2361001)(2351001)(33646002)(3846002)(6116002)(7416002)(74482002)(48376002)(50466002)(36756003)(575784001)(86362001)(76176999)(50986999)(1076002)(42186005)(2950100002)(6916009)(478600001)(66066001)(47776003)(2906002)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0202MB2556;H:orc.pedanet;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2556;23:rUhemIAyk9iywtdSdDtrLYkPG5v/HZQDt4FZo3Y?= =?us-ascii?Q?xTHmOgd4CCXIqIc3mjFlePCpGCUEbDkeI03ss6nfz1dSQr79x8Do3sFc6Sa9?= =?us-ascii?Q?nkCV7pUKkbSWqw1zU+mvC5y6DODUxJSCOM97/rwP2VtIe89PkrC1xzVBjxNZ?= =?us-ascii?Q?itunfp56sg1+Gutmnw+LdGjaD/yMJcr9Vp9qlppr4al73tHKEgj+pfXlWxNM?= =?us-ascii?Q?xpuWtfxfXCFdEK7zqQCd2eVn3smwAYoMInqj1GGDIA0ayF5nNq2hix09l/+m?= =?us-ascii?Q?e4XbqFghnjvQVP0jdKB0Bm3QrnPwB1KKv7s3f9K57+LHa+op3lnpkM65XenH?= =?us-ascii?Q?xwJy1Yig1rvrub+N1ZY2h1rISuGvj/5K1rwe3xNNd4R4DTgWDSvWkDW9O6vu?= =?us-ascii?Q?FviS2H+uHp1NQnaMt8hxzoDZOpfBDNi75rA4x/BL3ZM8zpZhsJAhdO3PFB/U?= =?us-ascii?Q?Y0dGD7gZ3Q7oSJARwMyfqmQyMqqWPSZCdQfZ/yZj6LkGe3dW+e8Kl2PKo6iN?= =?us-ascii?Q?Awtogj0klH4UNgt2Pr8KwVlAw32GvyMGnkUBRXhFjlTH2XKTERccVyg5R89G?= =?us-ascii?Q?BRD341EEvNREbI2csfGNWeXwexIHiOz5m4eEvLMTUs4EZ0evZ4fiY3t2E+zo?= =?us-ascii?Q?bNohpcMpbZcCjzY0dbI1ItNC5mokD9SS2JZeXeXtnwnFH7xBDkcDCUkKA8W1?= =?us-ascii?Q?kF/XOhUXayiCQCR7T1JxP0tUfJsTKiIYD7d8CUB8pAR4b9lwvurZPyYIqlyP?= =?us-ascii?Q?qoHGxIpLdyG3Cj1mmZbA9+qRFRvd7O/mg8OnaH24AmdAFa9+48QXxZOq/C7U?= =?us-ascii?Q?VirU5Jicm2t3UGIQxoshCCnAURjrHTNlgT1Kb8apvOD462RIcsxryKyPiLHX?= =?us-ascii?Q?LiKe88DbxcF17fhvttrAP25i2Nlm01Hg5USGF9Qqbni3tWrvOrwn2dHEsC2c?= =?us-ascii?Q?4lqApqqCas9KvKyWHt+8qXK7xRMvxhr4KW/kU0mTykM38ic2tXwNPfKU9CNa?= =?us-ascii?Q?1MxvhiyPRO5Ppm1VuLx6GmQlL98QLDArjIXRMTdwwXY+WMvHluZ9jtrKNd5A?= =?us-ascii?Q?uxF5obQsQdroyA+Rt6HfGy1kBXNDF1FSE6zh4WJF3G83229T9ppXpGTFS0lM?= =?us-ascii?Q?RhYCNA4pXypCLrBtKJJ8RxLaWJf6DxsAEaIsFtlDheG7AZBYOBnznFT0jlld?= =?us-ascii?Q?/3zNjP6/Z799PVmTG5lsFCe5Q4LbJf+eo+4uJQY5IUuNTT5L8RSGKFIYVTA?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2556;6:KFITNRxOYzzGDkjjGw4uXaYZMnZEBfygmubex5F3?= =?us-ascii?Q?cXeVIR5uDbEJTL2CG30xDy1SJebYA4KmkT7KYlX4pRu1xLQEw1WQq6paQMVp?= =?us-ascii?Q?RU8RgY+N0rS6K5urqN8MCdx7vzoYWAbU3ZEkfvldQ6wcsU/UruwTYuLSvnYV?= =?us-ascii?Q?rdDwiNoKO/LiE5Xq/qUQ+nD7dtO930+zjH4rdZbea093WC0trtP9kSZi0vjS?= =?us-ascii?Q?KpbkxhoBKs8B53Aed+UdQ2TYInlX9dDfhgcVB07JAWelclwyGBTsO1DeS9f2?= =?us-ascii?Q?PkJeE+jsu8hzskzSMzHxdvPzE03t25nRMI/FoECX+4qsPDfdUIfN6/wcS51o?= =?us-ascii?Q?ubJADJtyhoI1CwMCz5PlxmzZWOxC9IcnHqOux5z+hNZmIwnXwFuGrT2wsKHT?= =?us-ascii?Q?0SuiODycbDlFS1ai2q4Q1iNlavtOayKwu8KeF06btwh00kod7hclGstw8DqZ?= =?us-ascii?Q?Nc+EFVYG4oktB3/dSMS5FiCNM6qqphiZ7juKZfRz8CagP2F7CbvP11IGPHmq?= =?us-ascii?Q?eFuADttBcQUimD0f9jkm9IMDa2VA+X6chQHUZQHS077IKZuLHcVjW4dIQEWc?= =?us-ascii?Q?3aSmRSghyfTBYA3FnI7gvmFRzKHPHhSNGLOf4s2LMasrqWqo8gAeFm1ezUfo?= =?us-ascii?Q?uCfY0pxdfE1nKPwnE3NU/iSeCZsKisi9Y7XK4bvRYqNAh5BkRIGCJnmFcMDj?= =?us-ascii?Q?qgHjN/AWuBier0WnCeU7+IgjxSDoIwLp994orOmmFWWX/bOgi5XczApde+61?= =?us-ascii?Q?8ku9YjgnpAuXo9B8xUjZnXBhPRiYSFGVCZYPOFtF086+ingjDdSYR0gG9e4R?= =?us-ascii?Q?CTGVe2sXhKjmjQ2tE0NhQ7f1Y6QVe9irM8MRn90LyfxLaLrbgGjd0QZQEY8j?= =?us-ascii?Q?78pZK2D4WwB/bMumLEUQIIhYHkpavmlmSSSWEVdy0eP9zawUAg57P9QFb51D?= =?us-ascii?Q?QdNmaoyFRGcCASwM1Vlu9GdRiM2mKNHtM0B4LimG86PAxmPMLH0vNkjtOZTK?= =?us-ascii?Q?NX0=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;5:J0VRQPTSDBEWEo6bfdz5yFHSko4z+HnuFNDoRcpXZwi98pcSxKyZ3cGeHgbYSc2jSAislPF2/gSTbnNO0ybfyonz1QBddWv/udY1CDFGwAPBRHT1Pm+5G1pTgOg27vLXzKHBdFS0b25+E842RZ+WYJtmVtYfALvLBgpxuH//WlQW52lq06VpZ39kJmVWTd83UIbiaPG2UUvkQ21qycjMzppXdqbKqBMKcoUAOsBwrPg6AByq+zxS9kMMK4TZaAQaqys9oGr4KI4lcp+sDxhRnQX6rPcqnKC+m5zKzet3EPuCuNKb5UflY4p8bRVKmQf2N9v9HHuUMtwd9zIFtWiv2r3XxMDrvAggSHAUmV4eSMZ2/IIxEofB9Av8n3DYytmtyIXCINmJXlf9ZegV2I4JmagWa0LQkIc+PRSZXCLsQ4faGvoTIyyO+UQOUGsbcEmM/P7CHn3iiBkq9nu9uyPj1d0Pa+5BHefn0KlD+NbqqpupKFvKowHZQ9iF6uoPiEAg;24:ZkezC/SipmWwqkNU7Z/m5CUQX4jl8XVw3QlZlVfTTcbRIeg1GFZr4HM3wdW47QsUWVV+o8MGT8FyQh0fKFTJWRFMNScmmBTgN/hCB/Da7C4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;7:cuLzK23sljrHlqmhhMvM5rjYVu5BUxru9aaCDtqkYMQB8mabs/G2E+c06LtWVkOin+mXgHTSxz4XSTevHYBlU3xypo/o8DqQ/FAbxZowA5tpU3W/rBTRD9ngYa9rJiFj4UZR9hVLDrCwMuDnbRjIzDXQe8neux4Bxvmx19GHIAvkhNFV/HAljMh07ngulzVtjUUyqawq/j9pmMXIF1kGVkg2aD0klXsM3KQeDQImEZTzAIWvqrvuitOIf1b18h/IbEpwuO+uUaAb+h3idANSSXhdIvmqnIK4A55r7izXbZ4nOSW0siVpa4BpKpHo4hMwVz5CH1V7IBCYsdnVrvexjTFnjSMmfMDTodnhRXPb+IRg47TIkPhp5P9XzBJhpMtbgzXSiPGdDDDpTOEuG5X27JXn5UHkdjqiigq7c8miyFFUS1K7CJhU7XZ2v6UMMNaRpXYCSIRFKX7ogfgvI6aJgbJsmZek3EXwuEagZfPvsMmkgT2a8CGIWGxHY5YiSixK6Vzk55zMPiq5WkspXWeyQCUC5AWuP15mgaAb8WoOlknHmssgRaEM4Jqkv/RrTCSd8Lf+DqK6lxwnap/zpwHCqUqTOF8J3amuwv0/T68wezStEqF+MQ1M4G6QudeQEnBm/+497O7LS7quJjkjOhbmHhd5Qq9o3jUlGOAKuIU8iWCsi3xoQRvoe89JMiEWUL37I8ZWU5OmkJwPLCL22qwGGUpt52B+QVlo97aC84/XJyyViEJPNSIptT4CZSUHinwi4T6tQcHNcJZX++ZduUrDx7tMc73MyamZQUWXk+lfmJM= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2017 16:24:38.1574 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0202MB2556 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Acked-by: Daniel Vetter 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 3c492a0aa6bd..02baaaf20e9d 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 27affbde058c..2f642cbefd8e 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 17d3dafc8319..8b7d7a0d3ca8 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 356ad90a5238..638bcb5593c8 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 ce6cb6666212..1f1856e0b1e0 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 00f5ec5c12c7..da44ac234f64 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.11.0