Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752766AbdGFMUi (ORCPT ); Thu, 6 Jul 2017 08:20:38 -0400 Received: from mail-db5eur01on0115.outbound.protection.outlook.com ([104.47.2.115]:10944 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752442AbdGFMUe (ORCPT ); Thu, 6 Jul 2017 08:20:34 -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 , David Airlie , dri-devel@lists.freedesktop.org, Daniel Vetter , Jani Nikula , Sean Paul , Boris Brezillon Subject: [PATCH v4 10/14] drm: mgag200: remove dead code and pointless local lut storage Date: Thu, 6 Jul 2017 14:20:44 +0200 Message-Id: <1499343648-29695-11-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: f5a82076-3003-4299-d4a8-08d4c4695072 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:AXfrGYWxdcD/cqQ+RLOtpse8FWkCw1pQUMu7zmyNXzlrHxJ8hF9hqd9z6ItedjPLqDzAHIGT2u0HnU+l1e/OcFnBFr4K9Wy7yyT9+uqDDSfHwlfuyixRYY6XQ1rQtf/rtcFAiJJGOHAusIITLWcxR5t1w5cStPwT+zSDMxUI/Qc1K17ohwsviWSLEukRho8C4BzQpTBLT0ru3/bRFyxsOIPvLHlkDQ758Z3w6/xIKIvb/SpWSkYyPJpupHThMzMrYAyCDLLUTX0jp06bbs7fRqyegl+CStZ4xVoCkXtFlWAzCq7Qrgk50jd8gePduE/5xf8j43nRg2NuboBHO0TKDXZfv6kam3GNZI3c5CP7E0VpBL065vKoul4/qAWm6X/FGjAlGXwRBZ7eCu665WlnXVKhaQbSHVeLRLYmJKZeu1wgcsQ6pcW1cu0PeP6SrHvw9uEIAXn+kYCfs4q812GYELtyWbiKsNP8eoogmbHaswK/VxTCMW7idbncp7RNESXsHhy4enJ+1irOz1S+iBmtqGmLh8hrOue+RWjlF0paHISnwnijpqb0TUYw/1IrZJKIi08yAtPABL6BX4grHem/9T25s4L/nOTtXBh2okgIEb9dCGwW0QD3KmnuhJrM/KgAklKa7aypVDqkZU2V3pYQESvZG8nnI2ajZs/MShhQS4/MUEpI0odL6pnk4/5CVr0e6+orxeLFlNIpDkFXIeATkQ== X-MS-TrafficTypeDiagnostic: AM5PR0202MB2548: X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2548;25:0EFLfSF7rdWPlfCamCXGd9SyZSFh2Upd9mTHYi50Q1RxY1sAC01gdXizPUHkRXstrUU3cTIzSJiM3A4S3S0yxxpYaPo/XZXJQto/dxPvKTtQn5xxtTAaBkzjM3PDBG6O4U4bM7FdpFwiFd4v8sTE2Efkgn6c93/Sc8RbMlOzPsHdbRB0nO69oCLQFgLFsgu2SJ/1XTKKMBjBCYTzUshmdBNuSRvob7b9ujrk6nttu7nf7oH+gsvBiBNK+4Nmv608ZGm5qJwUY52t1jELa8ZGt7OR5mcSu1OypqN42g9E3eMxqEuwoxc2FktVtMN69lX4EkChew3XxlKl8CYmjfJr9mUx21+NO0RYO7K3v/J7hURYejSrkNtRjoTvoz+aX1E+iqK4Iq1b50Iax0uyPDr8nmWCeIL2vJtSfvAoMsC2YVfWIm4GACoIUN+992L45s6HVDj9A3yJJfdU3OVezBXCGsWUCs21KGkoNyvDZrNVKKOwWmiY25Klkh+XW5NLvK2DKhIk1bTu8aTlg1ILKfHQ/tKaSluWwoZTYqc3HAR0Z+WEySaNM1RtHkd/Ac58PhMse9XDCN6K//BMBxtXzIuVToaBeF2CHxP3ZzOqIduuoWNBPoXgjB1VZm/rQAiieQK6M8jLk3/KJE8rprEpEhU+TM7tV7fMWDpxlkj14ln23O2OQk27PWb7cP0ZF117hR3E+Har97IsLGU1MeRSc+xJJ6yNxgIqDiNgC3kBSeDZqc5H8l4gb3zUsnAfivGKnlOSdrBFeC0R44/6brIvvXKUiAT2dYeZWLJ212eRjc9KMjQa3RIbz7YGwlSSud0Gp8kGtt/oDC53Ygp1/xU0c/vSOwuAwztDlqfE/Yh75Fl2W/QIzA7BVf+KmFWFkI1mQA/8Ofpiw5qlpKz6qE47fCILbmBYsLqIs7dYXvuo5BDMM4M= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2548;31:gmpOW50hBMcCBDyH0ZTa7g4eiuVNM9fi12bBBilSY5wkHTsMNK4o3aF1vD8H/Eqh26M5FT74Z6Pmw7PVoViY4RHSiMTOmQ+XNcd8aZ8IYew0VXq8Mdv2JOH6FjqATHxtTcTjFksfM7Z643KEY/A930RqMaK05pIRW+yl4Nla4qG79MnjqM3HzaAdDyv4ruDcTb0i7SczMCNYD2JlmjAvaXXJAwwTLR57wmm+ErDdsI7adPXFqXHdfLgTTS8HVr3elVOPrbT9v6q6FxhGYtVjAS5fifkxc6n/f132LgOSxcMjrRAmetpGKfNYvy2cEwCfyu32b07Ggw0bDkQ9uG8M1tcjOSw3MnoPfGbbc+alLfx9yZdiH4Y1j8dluZSL+DLrkR1vQ9ICn159oabKh30kX9pCJc7mGMGsdImUoQvlaXhOdLW61ba1Vrlb7foDaQe1SuOzfMmYP3CsHLvTNwGiPm5dWjRQqKMS9tGwqFhnobS703Sw65D7JPbAJNsSL8ewVcZEKN8GYk6uS/UHmrx3DoxXuCFZDvFsd8c1L8NpHBPvLXHgiFokhUAibC/mPVNzblgKmj0NXgBn+gms4+ao0XBga2yOyGCSXFjnNWn+2gqU6oYvW0y8pe514LY/QHrxi6EitHHR/lICd4gqk9R1Hjhab9/R3Lv2O8/Ywr2mYJk= 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:sxbC8kkt+3LwCimzFJ9p1asAORBSw6rUrHQeKKo8?= =?us-ascii?Q?z3odi4iLxV0tmD4r8356S6ZjaGHB66IIzB3nU7/oIg63oLgnYut04KzhjtCF?= =?us-ascii?Q?Elfu0w48W9BUHOlHdAPAcEDKEXHzTTgjSAM93qg7y7kr2H6QHpPK6CWRIGfg?= =?us-ascii?Q?zaCUJyuX4aDqGwFLApa3BQg+HLlJRo0dojlrb4MqdnmPLnzrvkNjJ24mosKK?= =?us-ascii?Q?Vrv8JwaTTL12ViM5lGK5+SzJMzApYspcLhQItTzATumbODjZY0V2lGqNMnQV?= =?us-ascii?Q?vSrajqkiD7/kO075mqhjgJvXYSdivCcstF6mkdJrozK6bgJOLC44yeweKYgD?= =?us-ascii?Q?RxH72ta/yYD9PY+2tTO4mR1d5IFvYqVZWvylahcI9kqzj/wU8NwXN0uIjMWt?= =?us-ascii?Q?JUt7Ap43hOtOfHPiwxqdyDy9IQdvQZ1HoA+6ZL7QU7azz42DeQc2z4hw51yG?= =?us-ascii?Q?cJ+ws4UahSMdP7P4JUhEfhl8Drbt7pK6TpRxsLvuvyAiOtmKq/kngfcC5V7I?= =?us-ascii?Q?qC6KwX9iNALwfN60gH3D/AB2BZ2VC8FGtfiEegmBhpjZ1sdureCi+BZEAFDB?= =?us-ascii?Q?nVG/Zt4DWqQ23bj2fhInXA4VIgY3XKW7MldrjfUHx1lLpNeffzlcpdSBcPZN?= =?us-ascii?Q?fANyUYanfbNpFMgU0nt2j8pLGWxT0uCtndg/so0LVpbW1Z3eWIpwC1u2PFhF?= =?us-ascii?Q?V8Aokwemp2tbEqL9s6dhUQXXTbk0CIC2wwmydnLPRIPyGdihORc/cYKKqvSa?= =?us-ascii?Q?AuYOEP5wORff7qyvMtNrNgguPAA0e6F7fyMBVJhJFKbp1Scul+Y8HQGD10OC?= =?us-ascii?Q?RfqoApCcRnw6ylBdliuvTCS9MB179ovOFbOo8+CN84xiLNJAx/YZ64Yp75zL?= =?us-ascii?Q?89GlRpH9hO4XlzzK7fDUJ5NZjge2rLTMRaefhVgKcIcd5HlteQU9puCgf3vg?= =?us-ascii?Q?4H4eTYaOCADfEeG0LzGXq9r/+P2mHZmu7OuHOKy474ObYTGre3n4AUyEu3uH?= =?us-ascii?Q?HA8c1y+uEJiMhSA/21//0uqS2ix4aAsPn7nZ66Nt5PmB9iqrlyner9IKHcKs?= =?us-ascii?Q?b5hW3ZCknFrbui7ByzbUrJpqOvEnwvNAnnGQr9nttwfPDhL6QAJunyTR6IIn?= =?us-ascii?Q?lcPHdhjlTJc0vUgqT/x7SjfGiDgAM0fVQW3VUnLMlhBgMmhj/Dih20vCqJy6?= =?us-ascii?Q?ZLl9d+w+9sAASYGHMp6OQOeCN877KJJeJjPwDJevF0M2gKhyMQxM0sVHNW2/?= =?us-ascii?Q?b0uG4U9CDbr7nu9bL1xX2rppTv99vTc6ENLjwvfN?= X-Forefront-PRVS: 03607C04F0 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39840400002)(39410400002)(39400400002)(39450400003)(6512007)(66066001)(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)(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:YrBe5JPX1l77vWINVUydF2L/3Ma/V+b87ISCrb6?= =?us-ascii?Q?LaO6Hbs6Q7PNwxydQ6uYlNAlmBaE0gHjk2YIXvNawIzrs7fmC+kmWnEHKeGA?= =?us-ascii?Q?6Oa0r5EcDwg5PuloXsoC3oDn9SDvVUROG9XKvIHBXFvIrteXyfTNuOGPLMrQ?= =?us-ascii?Q?HqWgVhA3sHlvKAWHuCQYNbk212AnEjriNb90dx32kwnFvH4Lm6vxCIwmzGPg?= =?us-ascii?Q?AhZcaOchmV3ZSkmNr7k73PU9fwvS2fottVJ9g2PSU04wc1NDlqMTjX5HXo0X?= =?us-ascii?Q?4hEcNUiECHFBmNTGhH3vS8T8wefkVFDo5vrsnp2SSPrduzLkpVjHkAkRGbp8?= =?us-ascii?Q?OPpOL3OPxWxm7zwh/89lFzCU2DLt4ePiSTcTgEdGZtUP4z2Ok9obvA49S1gR?= =?us-ascii?Q?atCtjRWixeXekL/ujp40fEYlWHUtG63JgCltkZwqs1lYca7E7kMc6ujLWbgQ?= =?us-ascii?Q?MQ302v0We2SO2V+NYpFxWpN3uMwjvOdgSf4X1r48NfeQqmoonz9DObax0+1w?= =?us-ascii?Q?aQC9Cr8SEKpZoBEopIm/VxF8gHz7ZLSEnBJGLUQBFvi74byhff2/3WVq/3m+?= =?us-ascii?Q?/1upFYw5FVNjsRRa5eRQQxIe6WErr0R/712JGyw7ifXo9Q7jlJYzA92v4UVp?= =?us-ascii?Q?izH6hTzAYX7Rn7wUScazxz3LKU/EBbNbea90rr6Ca9WSChq3quRhDGvi37r5?= =?us-ascii?Q?ovdu8Ir4IpTxArXq034ZZsXPZ9UN3g1iJGRSV3IGXPQ5pm7kZszgwL7UKobc?= =?us-ascii?Q?ZoGrppkKcb+3LX6sVV56k88s6sTTREHU4Sj912LCL3ZgJlvPKfGGtWs6ztDU?= =?us-ascii?Q?JrToOtmUACLFnIhhxmnTbUYhaZGk6JoPYSkg/DboDDIZ9+1H/2JfiAOacirD?= =?us-ascii?Q?QmrSDWA54Cil+xdZxeAZWw81zDq7xAsEGJDRcBNRAPJTRWmBOYdn7slXcO50?= =?us-ascii?Q?kpQ8bzMFZgfw3B9NPGERReYrIsO+D2pMxpXE+7gNVlnA3klmDC1IY8meKj/0?= =?us-ascii?Q?jvZyIEzRpcm0PpYKMTzqvGiLAtRBptKHFG6qylLknu+cbeqk8zbY5JHVlA1R?= =?us-ascii?Q?Ru7+FIcqKdw/hoiBVow1JDOZsik5F2xVvonXs5HLAzfhecN1xqA=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;AM5PR0202MB2548;6:04lkcA2gykPGKUNCh6bAC8CBfDE9BND455+sYEHt?= =?us-ascii?Q?qPav27lxphOXHwiDmoWmm1HpsRrTWlRS0cugg7AsjQWf9s238R4LPuWuhFii?= =?us-ascii?Q?ywEB/szG1yc1+/rUjphYsw68ka7AVMVAsU7luoNepn1nss6FyHwoEmi4eNOu?= =?us-ascii?Q?H2A08mIhDpvawEGYbEoR3ZYc5zRXMSy6yg9f+Q3qt4FJZ2gz79ezkdgwvvKs?= =?us-ascii?Q?y626YbzRmHwhUAqDFuuHvUrq3KT7aYt7BtnXQaOzp46eUDdFVpi6ckdewb6a?= =?us-ascii?Q?+ZbruZbu9dxV0uZV6fu4ec9v5bCQJcpdvT2ZN76eD64ZU19RhV9yne605VaO?= =?us-ascii?Q?Rgrn6YHNZhrrlcFQPqDz5YRobxOnrB0UYSxkTZPkC103GyWz0WF9Qcl+a9sp?= =?us-ascii?Q?Q0XL+yK10xgjeft4wpRBruyB0LrdRr/JdEkxU3UxKHwKAEgVOTRHXrcRMIXo?= =?us-ascii?Q?G//NKnc3zjItS5E3PeyhTv+3athHZrpcnfu94UAWrQTS4Rb9k55QNxi5OLHp?= =?us-ascii?Q?NnESsPhMvsupzaLci5RbpBgs0ZyvEcHf6bL+F87aZB+gAXkW5M1OziNoZ5wH?= =?us-ascii?Q?ybcywNh690sodb2IgDf/vvtzNjCoDDyDn8L4dvW3BNyjoSHIIrnXCbs77xxH?= =?us-ascii?Q?6f0Au3jnSUdqszLRX1Gisr2T0DyAmijRJppbxbImXBjIpm3w/qCRYu0a5gIY?= =?us-ascii?Q?woMVdL6wgot2z3d6FQ+uLuvI9TjwBOmfEEOuzI+tdXwaHZmyUbSm1lEZQCCg?= =?us-ascii?Q?cdAggeuu9KK1UirOA8TTfhnG5iljFUUWT8LngzEIDB841FvFZ7YOtcchhH+N?= =?us-ascii?Q?B1odmgo3wm7xDdC4SbgcTSPEEcV9FVKn83IaIfPN17mje4wu4Bcsiran0VrB?= =?us-ascii?Q?tQlVf9adq+8JXjGDtemJKkiph5JuQyprt6POrJYZ4Ku+GDRI7v1WnlJ9eBDp?= =?us-ascii?Q?w/ev7skLI5ZhhDHcAQXrWzA6pOzTqQ9UrelmAu9Elm9mrBQtUpCcAxeyN5eD?= =?us-ascii?Q?ouo=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2548;5:ANdJqn00tiUZ4PR0SKyn33k6fSYiLVJBYDwXaMWe+EiVK1okesRoeadCyNCWUnVvfaqTv4qFzDxfPQZQ3ZUS3JhLQCPcRgSXfIRUWI4qxKgLhQv6EoAnRoiBTKdxtgJXkfe7Z9elSa9LZlVlwaL1xkczF994ojIqmdljxPT4d1V+H6meZZjiCo3kCY+5nZJoNk8N61rm4cREsNBhRjamgxvpjpPQHVpLDszErATKTK5djuvVCC+CqZXpGlVxjFeK+/H6G3wvYrC1xlMfe50hKO6R/KPUBa/vpWP1VDGQkdQPBFgb0YDdc0yPZcKCVqTKJr1/ycyom+XwxtYPRjd0T4qkQmBvvRAPjaRPMEOIVFEZMgT7+9IEw3fSFL4tGAUthPysqR9amkUADFw6hyOVfTcFbffRBrcmF4Peq0pK6XsLjtdIYYxWiHgbJYfJQMqgem/5vOQcsyapVE7TnOGP0jYthQuR5RZJfJcqo5gPWRQVkQ8VfnwgcVlzV/7juvh7;24:TTMyhF1qe+4wYff0Lp0AyW/i9FoBYWsMH68dtBgdYEuIrCglbiQWkwJEYG4yjm49l/x1MfnuazkKN1Oy64fWjLF0oRfjvV0rgAzGOND9N8U= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2548;7:MCLGFIwXNtvb2Y5JwFjNeeBaabKrAqxYvwzsocFzo0D8/oflOXW54VSqL5UXqtfm9jgnI/RfU8vF3xiXb2c+Y/ceM5SjVE1NqbP5DGkmfcniaWYAUVwT19nUsFOmtcg6FcKNYp8fKiZbuuB5CNmJm6h53ax4qd/LqQv+FZXU66hje8K0KV38G7oI8ldQQtrTz6LqZ+XUi7xyQ+Cbr+JG+qwJYq39aSn7LLwhp24FXkWBTKRcRTorUySUlT4oFTp/uUfOt5LSzhNw1LBTdtEuSrR3zbFx8CvxHG9AvRXqzHMcri8KJpwNdTttg+HV4jWWNoNm7+RWTfxJ53WVxN5P2/befiJdg3SKTR3d9LUKGhA0Vi/A+kKES0SGP3vaCNmV3GmhI/NQrwBYwJK7wrsE+osMGmZvvVAtQVbK+BIq3BVeFlOUdkPPhcuk2GF8GbYFZDAEGxGAbk/IUCQ9c8zNwPQUT3/Ud1RM5y4Bzu25UAOZF1lQbim2/jjoN/CW9In5BK7POh/Ai0UpEuNnytBUlfg2icBsz0UUdx0FGbj4dFl6YcSqkK7TiHtEJu7Chrq2zXNsK9s6WQIFN1fA39Ja7wq36H6avaJf7PR+LfLPe3ekZNbUlGne2KdPStBGuCskrMiTBdvy5JLOFCOI9v4t1J+RbYyIl0VVXlv7rLZcLtas9LHaPCrQly2nxY0/1vNPxufyp4+ciP/OSqppjRnbR8VfU1NJcRN5O2m+ot5wV1b/Rt8QrH8ZGj9tr3TEEo0Jnr85jyDE+1eebRG2FFS7YaTqcwF6QeYVKblFm4+Lzds= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2017 12:19:55.5457 (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: 5501 Lines: 172 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/mgag200/mgag200_drv.h | 5 --- drivers/gpu/drm/mgag200/mgag200_fb.c | 2 -- drivers/gpu/drm/mgag200/mgag200_mode.c | 62 ++++++++-------------------------- 3 files changed, 15 insertions(+), 54 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.h b/drivers/gpu/drm/mgag200/mgag200_drv.h index c88b6ec..04f1dfb 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.h +++ b/drivers/gpu/drm/mgag200/mgag200_drv.h @@ -237,11 +237,6 @@ mgag200_bo(struct ttm_buffer_object *bo) { return container_of(bo, struct mgag200_bo, bo); } - /* mgag200_crtc.c */ -void mga_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, - u16 blue, int regno); -void mga_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, - u16 *blue, int regno); /* mgag200_mode.c */ int mgag200_modeset_init(struct mga_device *mdev); diff --git a/drivers/gpu/drm/mgag200/mgag200_fb.c b/drivers/gpu/drm/mgag200/mgag200_fb.c index 5d3b1fa..5cf980a 100644 --- a/drivers/gpu/drm/mgag200/mgag200_fb.c +++ b/drivers/gpu/drm/mgag200/mgag200_fb.c @@ -258,8 +258,6 @@ static int mga_fbdev_destroy(struct drm_device *dev, } static const struct drm_fb_helper_funcs mga_fb_helper_funcs = { - .gamma_set = mga_crtc_fb_gamma_set, - .gamma_get = mga_crtc_fb_gamma_get, .fb_probe = mgag200fb_create, }; diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c index f4b5358..5e9cd4c 100644 --- a/drivers/gpu/drm/mgag200/mgag200_mode.c +++ b/drivers/gpu/drm/mgag200/mgag200_mode.c @@ -27,15 +27,19 @@ static void mga_crtc_load_lut(struct drm_crtc *crtc) { - struct mga_crtc *mga_crtc = to_mga_crtc(crtc); struct drm_device *dev = crtc->dev; struct mga_device *mdev = dev->dev_private; struct drm_framebuffer *fb = crtc->primary->fb; + u16 *r_ptr, *g_ptr, *b_ptr; int i; if (!crtc->enabled) return; + r_ptr = crtc->gamma_store; + g_ptr = r_ptr + crtc->gamma_size; + b_ptr = g_ptr + crtc->gamma_size; + WREG8(DAC_INDEX + MGA1064_INDEX, 0); if (fb && fb->format->cpp[0] * 8 == 16) { @@ -46,25 +50,27 @@ static void mga_crtc_load_lut(struct drm_crtc *crtc) if (i > (MGAG200_LUT_SIZE >> 1)) { r = b = 0; } else { - r = mga_crtc->lut_r[i << 1]; - b = mga_crtc->lut_b[i << 1]; + r = *r_ptr++ >> 8; + b = *b_ptr++ >> 8; + r_ptr++; + b_ptr++; } } else { - r = mga_crtc->lut_r[i]; - b = mga_crtc->lut_b[i]; + r = *r_ptr++ >> 8; + b = *b_ptr++ >> 8; } /* VGA registers */ WREG8(DAC_INDEX + MGA1064_COL_PAL, r); - WREG8(DAC_INDEX + MGA1064_COL_PAL, mga_crtc->lut_g[i]); + WREG8(DAC_INDEX + MGA1064_COL_PAL, *g_ptr++ >> 8); WREG8(DAC_INDEX + MGA1064_COL_PAL, b); } return; } for (i = 0; i < MGAG200_LUT_SIZE; i++) { /* VGA registers */ - WREG8(DAC_INDEX + MGA1064_COL_PAL, mga_crtc->lut_r[i]); - WREG8(DAC_INDEX + MGA1064_COL_PAL, mga_crtc->lut_g[i]); - WREG8(DAC_INDEX + MGA1064_COL_PAL, mga_crtc->lut_b[i]); + WREG8(DAC_INDEX + MGA1064_COL_PAL, *r_ptr++ >> 8); + WREG8(DAC_INDEX + MGA1064_COL_PAL, *g_ptr++ >> 8); + WREG8(DAC_INDEX + MGA1064_COL_PAL, *b_ptr++ >> 8); } } @@ -1399,14 +1405,6 @@ static int mga_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, u16 *blue, uint32_t size, struct drm_modeset_acquire_ctx *ctx) { - struct mga_crtc *mga_crtc = to_mga_crtc(crtc); - int i; - - for (i = 0; i < size; i++) { - mga_crtc->lut_r[i] = red[i] >> 8; - mga_crtc->lut_g[i] = green[i] >> 8; - mga_crtc->lut_b[i] = blue[i] >> 8; - } mga_crtc_load_lut(crtc); return 0; @@ -1455,14 +1453,12 @@ static const struct drm_crtc_helper_funcs mga_helper_funcs = { .mode_set_base = mga_crtc_mode_set_base, .prepare = mga_crtc_prepare, .commit = mga_crtc_commit, - .load_lut = mga_crtc_load_lut, }; /* CRTC setup */ static void mga_crtc_init(struct mga_device *mdev) { struct mga_crtc *mga_crtc; - int i; mga_crtc = kzalloc(sizeof(struct mga_crtc) + (MGAG200FB_CONN_LIMIT * sizeof(struct drm_connector *)), @@ -1476,37 +1472,9 @@ static void mga_crtc_init(struct mga_device *mdev) drm_mode_crtc_set_gamma_size(&mga_crtc->base, MGAG200_LUT_SIZE); mdev->mode_info.crtc = mga_crtc; - for (i = 0; i < MGAG200_LUT_SIZE; i++) { - mga_crtc->lut_r[i] = i; - mga_crtc->lut_g[i] = i; - mga_crtc->lut_b[i] = i; - } - drm_crtc_helper_add(&mga_crtc->base, &mga_helper_funcs); } -/** Sets the color ramps on behalf of fbcon */ -void mga_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green, - u16 blue, int regno) -{ - struct mga_crtc *mga_crtc = to_mga_crtc(crtc); - - mga_crtc->lut_r[regno] = red >> 8; - mga_crtc->lut_g[regno] = green >> 8; - mga_crtc->lut_b[regno] = blue >> 8; -} - -/** Gets the color ramps on behalf of fbcon */ -void mga_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green, - u16 *blue, int regno) -{ - struct mga_crtc *mga_crtc = to_mga_crtc(crtc); - - *red = (u16)mga_crtc->lut_r[regno] << 8; - *green = (u16)mga_crtc->lut_g[regno] << 8; - *blue = (u16)mga_crtc->lut_b[regno] << 8; -} - /* * The encoder comes after the CRTC in the output pipeline, but before * the connector. It's responsible for ensuring that the digital -- 2.1.4