Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752187AbdGDKgw (ORCPT ); Tue, 4 Jul 2017 06:36:52 -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 S1752264AbdGDKgq (ORCPT ); Tue, 4 Jul 2017 06:36:46 -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 , Dave Airlie , Gerd Hoffmann , David Airlie , virtualization@lists.linux-foundation.org, dri-devel@lists.freedesktop.org, Daniel Vetter , Jani Nikula , Sean Paul , Boris Brezillon Subject: [PATCH v3 09/16] drm: cirrus: remove dead code and pointless local lut storage Date: Tue, 4 Jul 2017 12:37:05 +0200 Message-Id: <1499164632-5582-10-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: 573b51a8-31bd-416f-23ad-08d4c2c887c1 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:ySvF90LaJUrNo5tqLuAIU7dYnMKzu/HLTfQXVCveLddU7eHjKs9FuEPND+DE4W02AGg/6vlkYUDihNey6j6cTh0oxz6l9pVn464SSFctsEWnTT0gAcco3GLuPT0UqIBDmA7TwROKSJZqSorLqqE/5/lyfrn2BSxQHfiDmXq0hklkVAeiegVtnQ5wakCG6h7VKuaMtMGO8LPe3C4tIrrAFD39oerCKaO0EWnr5IqFjEc4q+RSzxqE5JJ8RFi+iLn8Vsk82NqTLfKenEzpaBHZ5o7dFRQ39SG3oXDyOR9LVw8JE1RCoyOxWxm9xnVdSX9czxZkVvo4vYXqZVH6GWH/3WGUAeHmdAgKR4JeqWDyy6FZqgayhu1qmcqe0Tvl0h7SErUTC0ainDaIpfV5jMoI/VnR+0ts2T/aGHHepRvFk+mWdzrDysJaBPywqgQhKt4DhN2SAS92ifb9IcqiX8KNFcP85IgqrRoprE9oF9yeFnM+PP7jo5dwZ9gJq3oBKNjP9qNNUH4OrAgz3xFbIY+4clZojEYIBpBhFI+gr/nHRe1Ktx+7HCVzxIEyFYdVMu/0D4w62Ee/1R7P1i2uZYF7WzejXPBmswoUM06uHT+gexOLty7jYx4y7x2Bb4T5DT01upEjt7wKt5StonJWOMrOlopCpmufzoYKJ07iVYyTGVPcwnsF0mQZA6svzFTsfwpQOCNusGtoDDa+/vA6w3w2CQ== X-MS-TrafficTypeDiagnostic: HE1PR0202MB2555: X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;25:MGafEkijrZP6lrkTGD92/krPsEKsh06TzlfomrkeoIdIh3kVzW6XSYAY4GiuNq0sxsb7QY3Bs25cHBypN7Tlqy77dzFSAsBmBCM/e1MyfIC2u8vVecIdfWcD/kUeb41rj+lEVn2TIHYEc0PWYLsTfzBtkOz8L8qvD/1qNvj74e2mubZzqe70aOPvx4bSaKzwDctsIPWxOSN5KojptTyHTCQk35/ZCCJEhpU2hfTBNDR7LjkcWdaPZ22Gm+I0TT5KE5UOG3FYdnP0VAQ8azrMgZDovAKKZ2mGOPxYjIOZFm2BEqPLXCCis8Sllwppx+DelYedPiDo0wcj8TZT9ZtBGFiO1yllqbbQXcJYt8JaUw7NOuaFOl6qWUDyaCWXketzwfIsc7/951KpgpwFtemX/qTgFJxb9IO6eZ8SVd7/0AkjQjNMbfVxVW8Y8+G7XcDTy7qJBL3VkuDmAFLTUfLGElQnmuhwStnbgaz7YcoAZw+jE/xTTxs1HWzQy3FKQwoA9uObxmp0LNLACTCUIq32q7zNThL5H3fxOdqq91PIc54eZLNjqZuYzm4hHgoAIHVJCS5FP6LQgvwba01H88kVarpaPrOlM67XE66eD7AfuHgd0SYI9Y9xkM2XDMg6mbscyGtqqjb63ii1dkzCf59KRTPPlmv8f8qrbRSWTCBXjPKP6lszcz7YnHI0fWPmL/VkInfNCe7S5i4S6V83JSlCo4yJPJ7E++bQoMDxZUDOXeBjgix54pubQGMdkJLgy5rJmeJUkx4XgssUhbd5be1ZaFtQXraOLX7wn+XhuRmutF3F7sVabMRfudS40qCfVk1zCEBEmcZeT9c+tu0sPt8SBpwJCKpTdJvDTsuEIJtE1WIy+W9dnvcynbkVmARN67slX+Au9SwaG9lPL44JMpGYGode/hNHYvSZrFdtCC7oA04= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;31:My1fiYoFhqhRCPH9VXrdFg1TdJYSIqcsHiPMNPCOBluSx4Mzxb6mKfejyuedfHLLjLYiJ20B8H9gwEcA4XIlCotUBtG5wnP9JUeDTU5hPdFZJUeHbXSMOxd46G7Z2HsxQVFo4+hfOYW/bJe20ZhLE7ZF0OuTa0E9CegoaKTgv6hWXESP8AtkC33ujptbVX8bH9ZTBqlY62qPeopZyzPkazcCAOZK7PqDph00ZPe4BpNFIHvJUbBS0cmGkKV8GdoJWRL0kHTICba8Z/AIpU/TvCWA/LtELcJP5vyk6zfttE8kGIDABB3KfBnV9BG2hRpGA3icffbN+zjzwRJvaWYsFmew0LlqbfdUCPJoPyeeYmz8856VQ4YI8jFzCNnaLFMX6hjpy4V0MOBmakm9XtblAu8O4Zo/4W+gQP969BHht4+gaDv81zVjLM8XQ828+C77vP0AKjs1n073h460h39HTm9Q+G41VlBx3U9SveWQ333C+pkEsjs3gKzPh7MBwE+qXU+qc5v+PtCjMncs8/DbCdkzPaN5fga7yHy8bhJSXHRe4crFPprEIAaDjb172Lz1mLUsKbLodqVB2Uni5fBrxmRHD0IMe8L/7S6MMrynKpg4dDZ+6HXK2Mtk2hL0Oe96revGtvoTfy2FdJBbpRkcrHb6I3XYtkJBFPoLHNNiWXY= 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:k3ut/73A7SzLmFCmefCW9NoeFv0fdnruX2EjTh9s?= =?us-ascii?Q?cH/3+0Joc8NuEdnfun9LrrvvnJzeKb+U1rLCgDxR3Ol0GylZy6rB+p3q7yRx?= =?us-ascii?Q?LSBgPrkiZ1pG4A92JwTIOhb6Jllaq6P6/6WEr1PrM/dt5fIjsUMWNjwQfdtE?= =?us-ascii?Q?2cYhKMr8u2Mq5CqievdPI5hFRxOC0Va1r5HQ3FXp7taxtiLvsYlMQqXo4gen?= =?us-ascii?Q?JDy5FLRo0rpMlWcuErx/R4cJzZwwfsmR8AC6MX3Gv8iMBRNPRDVn4rWL+2PG?= =?us-ascii?Q?Kl/mn3TU57nGqC4DV8Ea2UDiNAtw2D5sOJEWyn3NIG1xamtChzn3NjmutnkH?= =?us-ascii?Q?+MMOcpIzd3Nheh37IqcZbOKTO29YyyvnuOOGlF+TkWFIef7Ddxu4wJv/AmAb?= =?us-ascii?Q?3FHdJJc9JML/6tH/Yy5kI4XVGuFLFJNYBqXBjYKzGMjBIQakwxV4uufOM7EZ?= =?us-ascii?Q?I6EcN/3OX3Limcb7vz0P/IorfI27jEsVbl6woPfh81XCxFCYUsA4iUnAKnUJ?= =?us-ascii?Q?GxSmXdcL6ACeP+wdy1LRM1ngl7KUPIwHjdp+EnRwQIZbOKGpB4g5OySso1zS?= =?us-ascii?Q?lwVZaD8gKwCHJ5+9cv4Vf3QREwtgUSGhApIZDt9ep5a3FuEUoo3D6HT22d7/?= =?us-ascii?Q?vz2oRu55FeMe0eWw4nmIZsXnxmeAq8eQJHfDNvsdzArgh6BKT2K988/3Z+3Y?= =?us-ascii?Q?fR26L90xr8/aVLaVbRXFFgi+WgX5Npav6NywHImrLnPyNVI2XrVe10dDhWFY?= =?us-ascii?Q?8ygSA66YBqKTezAaok0IlaY8VvTP8twuPToSrEU3jmdAtUjflS26AQF7sCdi?= =?us-ascii?Q?pBy0mPTubJeaSzkNplGjG/ryhw8guCdRY/ZmXFl7JdbtDSd45SWSYUivRvCS?= =?us-ascii?Q?qRGCzerW6zAr8xDotQPp6GnRRXcNK5Ulsr2fhk7hKXOC4DowOobAp3OsJuLo?= =?us-ascii?Q?JsUDPkQdDs33HVh9K6P+FmN5xwehMVotwUwHxyZY/0KpltMFJOg3hsZ9UtlW?= =?us-ascii?Q?HncYD96kD/5s5AdBn5zm/EilxgBIxukGujd27A8Igd/whtXnqu8bAQR+VHQz?= =?us-ascii?Q?R/X/qNW4Nfei1IQXM+joHk2AIdPJ2QgGdQSsSRiHQSlh4ZH35evG1RzAUfmJ?= =?us-ascii?Q?Zsc2XXylyGlj3tGYAV6Tub8qoMaXFRvy9pfc7veGW8dOJjTuycOyLySjlI1v?= =?us-ascii?Q?RZzX4VFWQrhwihE/BFveDtH9eSvRzAON9QNUUZe2Pud5cAlb+7pf4cy23+VC?= =?us-ascii?Q?011iT93wso7Nqe/N+fQ=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)(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:bHbUcD1aIXspJfNShcyklqVKBNz+1bRbK0u0ISZ?= =?us-ascii?Q?WkQVJmLY7msNvgnkHJuQXRwOQ6Vbo77f87KuvQBe/7LLPR5GNRAUEwZ1vM1q?= =?us-ascii?Q?n8/ZzknoUZMF6VAE0xb3aYdnCo8jLYjTs7GWBePTuRz5i1vENWHLJxmcGjUb?= =?us-ascii?Q?w8GkNX5NDUOkUWv4uG0yM1O95kM9b6qDixH/uR73I9I/aIScOK7hOpaOMl81?= =?us-ascii?Q?xArWk8t8/60nUnWa31y1kOfi8UVJ4AHtnC2y7RzkTVevyQ1D1QG5fT5Tqad3?= =?us-ascii?Q?nxrMIE/ky4xLkjzjCimeJhlbRjgyRWBS2VIO1F24/fSCWY/rdHg7HUJCYNPX?= =?us-ascii?Q?NVEY+4WVrnaFcoHEQL2jgn20mWsFngs+Ds5+Hm8At7nHpfdlc2f+BOSwEjVT?= =?us-ascii?Q?2aUX7uV1OksUWusYtMetH2ucUo+MWRCMvTsVZ10Wh/uQjr+B5QdAEa83a9K1?= =?us-ascii?Q?dRm7miyBs55fzQTXfOdL5RyINYija3bpQ4MR60/DS/Xeno9LNnYzsaex/z9q?= =?us-ascii?Q?hHcB5LHY9SwtqxvTYADxcW7UVUVe612GI4a4R1IzvRyksVimOXMVfUcSozQ9?= =?us-ascii?Q?DlBs2fP+hWaRd9/uFou3GG5w6ca1XtCNkzvfP70qoTXj1RBAd8H7oEYkqoVt?= =?us-ascii?Q?g9tXfvybnp80zTjkXy7aH8KLFmHKcBuQyVRQbLogV1VB8KxG3jQbmvaIfjtA?= =?us-ascii?Q?2LQzYe6vcoE9ssGWg/9f+5koeNqsYYYLXvk9q1DCqNAYqInS3h4N6EoNhqcM?= =?us-ascii?Q?zKbio7wAkJOX5cqw+5z0zS6O8LJPetQpTjzI50PRXFICYM9Vl9VpRh9oawQ7?= =?us-ascii?Q?rsZ+gLwLdLvNPxUQpA+jXfW1lxFeiUBzgQEcUGBgqCSSLBvf34BhaqzbNKPf?= =?us-ascii?Q?RsY++QsCxJk7I4ABKXuf8UL+XHn9oCLfn8LOC2mQUJJLys7+3koyTf+7Uf0M?= =?us-ascii?Q?plZVo7s5F39BFdc7uxskzA6fmIgTWo/gaOyetzBxA+P4YFLHEQh/Qf+B9GSd?= =?us-ascii?Q?GAtM+D/s0XYWfhfS8X3LHHit2Ev51LSBzp+ITo9O+PvQHS/N3RRDUT3eNvtD?= =?us-ascii?Q?Fn598hbi6GnpNlTvt2W4hVlVwlstdyldh1zTqgRRdiOL3E/bedw=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2555;6:GYQwo6vCyKG4Q7kTb/rqSUGCh6f8VMaAfWKCCn8B?= =?us-ascii?Q?ATl/m/YtXcIAi6EKwge4awtIRV2owqGxHlrcnwXQx8q+FZPGXm1N00/+ub/V?= =?us-ascii?Q?L/z2q6rgqJx+wURef0QC2jzqwZTnGH7wd50g9nlu6xbwzV4EKS8BO2o2zXfK?= =?us-ascii?Q?JCZT6vCXVFGnIySt5tNQoFjuSz2O63woAEaxhuhyaOpnQ3JtLsUtfyO8VbjS?= =?us-ascii?Q?qGwMugERlDGo1/hhsIDK9+BbcJy5cjrQcbdZ0/qU8UcJOIHshyFufwiZo+ex?= =?us-ascii?Q?S70EBbVk1m8FY5s5pt6dqnI1t4pLJ8vHRw0a7rWgMA5GkYexK9QECJK4DZZt?= =?us-ascii?Q?v/gb8ztXIoopuZLxsuXfhbPowbXLZthhkTaXx9eKiNfaH4moXAsK2NGlb8z5?= =?us-ascii?Q?qsRbiINlCacIXyivcZRRmP0N6Jkl03MPLKRJtIaWHip1r825mZzdU3W97yIW?= =?us-ascii?Q?ZXL4xS85qlSA4PlW6d6Tqu5aqSEn56h1W3k1B/w/4b8WB0jgv8Ln/yYpnKYJ?= =?us-ascii?Q?lcVaV0ZNHBYnZat7L+IvT/4HbcUhGrJ5fmBQArKBtLqQDmKYIwbdWd1NAYQt?= =?us-ascii?Q?zVBAc0m7XncoYLSuHK0zIRKA3/dXC6GYOOjA9+Bbjx2IPYANb7rfDQZ7rvfv?= =?us-ascii?Q?ZkWuwHSY97fCNnW4Yss3YLjb6KqfkxlApxMFubZ44x/OZ5TE69ISAutWt4xQ?= =?us-ascii?Q?Og/VvPVqhrH1TxAeN8PXOqkQkzeIqpYaj0K4G8oeSA4cZl+VWt0HtD4QTvur?= =?us-ascii?Q?wltx8W0rK8gXLg2QxVttRlkDRruVFopLkj9Jk9WP+slgDHp+VTuc10rQZmUA?= =?us-ascii?Q?dIB0zMFbE/Skw0gEcGZtgiI3haq2fZ3qAcOv5RXOGQETup0r0sg9oVb9342k?= =?us-ascii?Q?hbG0DaDiBmh/EADz+GQ3ySUbbzn4TkMhGpyyJuOTCSUUi8yRthkv1O1Dw0Yc?= =?us-ascii?Q?nRYPUume8IlduYUsz87Y3eF7gd2aklS87JyOLbl32FxP7T6XOUEs5SkPLShb?= =?us-ascii?Q?yl0=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;5:OsLJzhil9bC3LdKRCYisXT+1yNC97TWhM5/iR3UJf9wwZBF4wmdOrPH/7jm0JjeMuxxU8N8uiVbt++vzySFDdIUJ9ZzN+8AfOkuThbHFjaIn7C/tKl/ie9oNpZN4gr44Vzx8CDQPvf3cLddGgVC4g9R20xbM6x9gK2PjocF9vEKQ67XvnG75vvFrGyI0aSmRh8ukP5VG7sMfwU2yW7jpVzIuu4cn2OEpUyJxil0JN6/NA8EblcBTqyYQYBwaq9zZ6ttDLVv9Mi272QY8eMtyNdlUMzGF6AUDGubvUM0/tGqa7BKyBFb+IizefAZB+jhVlgU+YL+ecLjuEWaXWTn2ui+Xnyxc/Yb48w0zKOQoQXtH+nBcmixQo2KKkNa+vQzIzZ3rI8jKDS7I8biFWP+qUnmFTQA2JcrgCbPkoVRadX2yTV46mgvSohXrlNrUGlN47KJsRZhCU+4wVRJ77rFv2zI9x6PiwehnECIWqUCRNY0uea1V2+kbm3obs09UwAEG;24:yvZS26KWSqQ+cUco2T+++H92PtMZNVMCy0exZzxKrMXTZOtHdQ+6HEqNI2u0LMQbAOFWVr5Bl8BrWJ3NFpHPecEuiKpIZnPPnwyixQgB6Jw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;7:Ksy2+690bWscnJ8uI7DodufYb0TeIsal8CKQmAsvur2NXfMy0xT3Zimzfg+bXks151SKcu8QmrDonvm875jVuGfovCX4r13+Gdg8YjZiCA9szk9O/y1NSMxIr15I/86BAZBT8wlMbqvy3IlqJskeiU+ZGmrNij/+nAvN38TFdqh4a3jfAURkLCbG8VJjp2aeqebdZZ2HmA25rZdM0JWbcEbspJeJwKIXv+H2ZhRN333QrFceGApFCA97MnWnJsH7pvHhwzO/CzaoiyhI5RAlE9qpoFhnmL2Fw50AWaJQKIqUFgI6URnTIYOWu4J06pAFqwzN+m3U7R3HYYLoMJq7MHfZzL9Uo0NlZTEugLbo253cgF78eyboVtofx0XFlmfGDJgAoHQ4tHzDg9eBU3FYM80gNNFDcsh7pUHZTnUFP1wV/dOIprgDb0q5XoD0hcZreJt7OOOnav7GxlstEu+huNuay57YjVWrAov4Wui8r96fmqVOyCxzkAWurU/mESpeyyi3YbXPfF6D28wsEL3Mcovp76HqIFbPUXNB/x2j+vnKyzVjAcw5JlTIMH7rQkZdRty1k4ldFdBYZjV5grSsFhGFa916YYerqyHzn2hKqtuHOUXSOFOS/1l6GTY7mjY1z5l9yMXlAyCVU5HlfttnpHeAS/xbGVTE61NlYvQ5lNmTwQY9vRR4WxdEK09yfbT/8Gft+5ctw9rQMeKPWsVJpYKpgvHv6KVLPtZlfY/+ymkYJxU3qB7OsiJanWcwkWwkCCWUSeXvFPHR2vM7vuOsG1yP74I0e9cLCCBGOi39i5c= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2017 10:36:27.9474 (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: 5374 Lines: 169 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/cirrus/cirrus_drv.h | 8 ---- drivers/gpu/drm/cirrus/cirrus_fbdev.c | 2 - drivers/gpu/drm/cirrus/cirrus_mode.c | 71 ++++++++--------------------------- 3 files changed, 16 insertions(+), 65 deletions(-) diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.h b/drivers/gpu/drm/cirrus/cirrus_drv.h index 8690352..be2d7e48 100644 --- a/drivers/gpu/drm/cirrus/cirrus_drv.h +++ b/drivers/gpu/drm/cirrus/cirrus_drv.h @@ -96,7 +96,6 @@ struct cirrus_crtc { struct drm_crtc base; - u8 lut_r[256], lut_g[256], lut_b[256]; int last_dpms; bool enabled; }; @@ -180,13 +179,6 @@ cirrus_bo(struct ttm_buffer_object *bo) #define to_cirrus_obj(x) container_of(x, struct cirrus_gem_object, base) #define DRM_FILE_PAGE_OFFSET (0x100000000ULL >> PAGE_SHIFT) - /* cirrus_mode.c */ -void cirrus_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, - u16 blue, int regno); -void cirrus_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, - u16 *blue, int regno); - - /* cirrus_main.c */ int cirrus_device_init(struct cirrus_device *cdev, struct drm_device *ddev, diff --git a/drivers/gpu/drm/cirrus/cirrus_fbdev.c b/drivers/gpu/drm/cirrus/cirrus_fbdev.c index 7fa58ee..1fedab0 100644 --- a/drivers/gpu/drm/cirrus/cirrus_fbdev.c +++ b/drivers/gpu/drm/cirrus/cirrus_fbdev.c @@ -265,8 +265,6 @@ static int cirrus_fbdev_destroy(struct drm_device *dev, } static const struct drm_fb_helper_funcs cirrus_fb_helper_funcs = { - .gamma_set = cirrus_crtc_fb_gamma_set, - .gamma_get = cirrus_crtc_fb_gamma_get, .fb_probe = cirrusfb_create, }; diff --git a/drivers/gpu/drm/cirrus/cirrus_mode.c b/drivers/gpu/drm/cirrus/cirrus_mode.c index 2b4c2c3..92ff7de 100644 --- a/drivers/gpu/drm/cirrus/cirrus_mode.c +++ b/drivers/gpu/drm/cirrus/cirrus_mode.c @@ -31,25 +31,6 @@ * This file contains setup code for the CRTC. */ -static void cirrus_crtc_load_lut(struct drm_crtc *crtc) -{ - struct cirrus_crtc *cirrus_crtc = to_cirrus_crtc(crtc); - struct drm_device *dev = crtc->dev; - struct cirrus_device *cdev = dev->dev_private; - int i; - - if (!crtc->enabled) - return; - - for (i = 0; i < CIRRUS_LUT_SIZE; i++) { - /* VGA registers */ - WREG8(PALETTE_INDEX, i); - WREG8(PALETTE_DATA, cirrus_crtc->lut_r[i]); - WREG8(PALETTE_DATA, cirrus_crtc->lut_g[i]); - WREG8(PALETTE_DATA, cirrus_crtc->lut_b[i]); - } -} - /* * The DRM core requires DPMS functions, but they make little sense in our * case and so are just stubs @@ -330,15 +311,25 @@ static int cirrus_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, u16 *blue, uint32_t size, struct drm_crtc_state *state) { - struct cirrus_crtc *cirrus_crtc = to_cirrus_crtc(crtc); + struct drm_device *dev = crtc->dev; + struct cirrus_device *cdev = dev->dev_private; + u16 *r, *g, *b; int i; - for (i = 0; i < size; i++) { - cirrus_crtc->lut_r[i] = red[i]; - cirrus_crtc->lut_g[i] = green[i]; - cirrus_crtc->lut_b[i] = blue[i]; + if (!crtc->enabled) + return 0; + + r = crtc->gamma_store; + g = r + crtc->gamma_size; + b = g + crtc->gamma_size; + + for (i = 0; i < CIRRUS_LUT_SIZE; i++) { + /* VGA registers */ + WREG8(PALETTE_INDEX, i); + WREG8(PALETTE_DATA, *r++ >> 8); + WREG8(PALETTE_DATA, *g++ >> 8); + WREG8(PALETTE_DATA, *b++ >> 8); } - cirrus_crtc_load_lut(crtc); return 0; } @@ -365,7 +356,6 @@ static const struct drm_crtc_helper_funcs cirrus_helper_funcs = { .mode_set_base = cirrus_crtc_mode_set_base, .prepare = cirrus_crtc_prepare, .commit = cirrus_crtc_commit, - .load_lut = cirrus_crtc_load_lut, }; /* CRTC setup */ @@ -373,7 +363,6 @@ static void cirrus_crtc_init(struct drm_device *dev) { struct cirrus_device *cdev = dev->dev_private; struct cirrus_crtc *cirrus_crtc; - int i; cirrus_crtc = kzalloc(sizeof(struct cirrus_crtc) + (CIRRUSFB_CONN_LIMIT * sizeof(struct drm_connector *)), @@ -387,37 +376,9 @@ static void cirrus_crtc_init(struct drm_device *dev) drm_mode_crtc_set_gamma_size(&cirrus_crtc->base, CIRRUS_LUT_SIZE); cdev->mode_info.crtc = cirrus_crtc; - for (i = 0; i < CIRRUS_LUT_SIZE; i++) { - cirrus_crtc->lut_r[i] = i; - cirrus_crtc->lut_g[i] = i; - cirrus_crtc->lut_b[i] = i; - } - drm_crtc_helper_add(&cirrus_crtc->base, &cirrus_helper_funcs); } -/** Sets the color ramps on behalf of fbcon */ -void cirrus_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, - u16 blue, int regno) -{ - struct cirrus_crtc *cirrus_crtc = to_cirrus_crtc(crtc); - - cirrus_crtc->lut_r[regno] = red; - cirrus_crtc->lut_g[regno] = green; - cirrus_crtc->lut_b[regno] = blue; -} - -/** Gets the color ramps on behalf of fbcon */ -void cirrus_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, - u16 *blue, int regno) -{ - struct cirrus_crtc *cirrus_crtc = to_cirrus_crtc(crtc); - - *red = cirrus_crtc->lut_r[regno]; - *green = cirrus_crtc->lut_g[regno]; - *blue = cirrus_crtc->lut_b[regno]; -} - static void cirrus_encoder_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode) -- 2.1.4