Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751961AbdFTTZG (ORCPT ); Tue, 20 Jun 2017 15:25:06 -0400 Received: from mail-he1eur01on0131.outbound.protection.outlook.com ([104.47.0.131]:14608 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751175AbdFTTZC (ORCPT ); Tue, 20 Jun 2017 15:25:02 -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 , Dave Airlie , Gerd Hoffmann , Daniel Vetter , Jani Nikula , Sean Paul , Patrik Jakobsson , Ben Skeggs , Yannick Fertre , Philippe Cornu , Benjamin Gaignard , Vincent Abriou , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, intel-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org, Boris Brezillon Subject: [PATCH 00/11] improve the fb_setcmap helper Date: Tue, 20 Jun 2017 21:25:24 +0200 Message-Id: <1497986735-14418-1-git-send-email-peda@axentia.se> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [81.224.171.159] X-ClientProxiedBy: DB6PR07CA0081.eurprd07.prod.outlook.com (2603:10a6:6:2b::19) To HE1PR0202MB2556.eurprd02.prod.outlook.com (2603:10a6:3:90::9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ad9f7e78-6833-4cf1-4c54-08d4b812090a X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075);SRVR:HE1PR0202MB2556; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;3:q/AnH/NcQONJWkK7m1vy8prh4dDtJDTpxUbXLjAXzJZwyyu6bP65f0CVJbBIKbiFgMDUkAUMelPLjj7dSvqz2S9KbPx5Cf6QSDL+gpAGj5NsnFn5JMu+P3I70YEcFmklKHS0M8/DMbDlCuXUAA53je5+TarsPkcahWlKrJAxJxJFoPYIT2Ht1ztxdrJRUK+aFHhveRb4NUZBy+LvysS+pqfutvL2zpgS8naF+JnDOZpxLX8fIZ9h5YwAtdS5h4hbQDQTl4rwFr3cjcW81u7UIsLNQ7UK4iEXLmtHOVRXLNp2Yy8czUozLSrnDvQowd2J;25:Oyjn/4aRIWJmROOPJCHBOyfEaeMHNx7qitsTkgdi5Rk59P8uw094rPswczGAcC7tNh2Pg0Lsyp3DQp2geWjTj4jUZve9vAIuMJWxyY1RDr+8wyfEGTe69BG2Z4WwuOpCehmXuqQu6JMJo+wgPtpr3x6Y1VgI5Eo82hYEMMjKUDyaeUjl4O+akVjvRG0Ff0QElQU0cTXdrPTw4WpAIfMlqCx4hkSNjx7CtoCCy0DlVwIUwRnKt0KJ8+740uQRYAbONqB3zzAQh9e+LT5Ww4iBgjvN4q/TIAf/wwJWR7bo1FIrT3HZLT3Qo+0dRcUzGuImztZSOluxnyMix/RkHCuQdgouQvpRdY7BaQICpHk0Ym3QpLQorBErtY/iLCdcLl71byOFrP4ziWQMBVVsAt/sShr6w2yG1nokubG+XvDkxFhdfTtW16LK1HQA70SpYRKxOJLVvRiHJFkdvMv8/ER6HGGyc7cUmd77QjUZCseg17Q= X-MS-TrafficTypeDiagnostic: HE1PR0202MB2556: X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;31:TX3Q915YZPCKqyTJKrIoBdbjYjNI8MjP3g+OQawI/YxjYmMZW8cSBpVd8tbyIXO+QNreBwsu02TRmJCHrJ9Dd3IOPP/yHpAFqw6K+0p+4Py7nkI0j15rH5MHPjZ92YJQPRNR0J1DeK6Vp+E1Lh8R4ODAG0sa3i+LMZCRy2tp04ljI+LTM3sqHcqG2GC/3HAnI7pOjjO2dhm7wcd1y4YXDmxBgyFYKm1kjVfA5VQ+x+ig4R5rpOBLkgElmzliN4YAVT/z/b2OA6ieh4GJFsAHiQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(6041248)(20161123555025)(20161123564025)(20161123560025)(20161123562025)(2016111802025)(201703131423075)(201703061421075)(20161123558100)(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:DEa3B/2ZZHwdnIaWWmMicaxzNSqhJfzX7wLXg7un?= =?us-ascii?Q?wiIX/sUt/v0Mu77HyB9Y2h1HCdlorISvX35CV8Vuc6J035/yHFYeYyDgSI70?= =?us-ascii?Q?uzwlMV2MaJqCYbbKRkfoiV422STmdO7FkGXE6QF7E5Xmp2KJNBIbuDThv0dz?= =?us-ascii?Q?wdgE5hSDtSBmcsGTBxZTE//PPnPC0I/NReiqt4AklgVnPgGtCCpRVVdIYOmQ?= =?us-ascii?Q?jJOy4cT3DRAYS2/qNYMpgNaculXL/CKq5pe2Ti2IBkkPajvxQYRYS/SAU79n?= =?us-ascii?Q?+UZR2YQZQU7NCJg7gSb4zhDyNEgdSVqGsTTW3L5jRD89pVbevu5KcRieb8XV?= =?us-ascii?Q?GbbHCv9ypV5BEaM4mFcWQ4KMU9eBQxKp0yK843Zg6EpllTsRZIV6S00htlgW?= =?us-ascii?Q?7W9gTl33XunTZgaE7rTthl/4exIPWfeYX6MWGUWnPdsxUifImgeklpB5VRLL?= =?us-ascii?Q?FDdTcmeRK/CV7SVwkXMnzAGT/ytKAU7QWukq0u2WHn/ndcx6Y9SafK8bzzjk?= =?us-ascii?Q?gfPO3CiloqFMAsvFj7RIguWBn6C+jdu7EuY0jWbuleDWgOXTeR/iOG7D3/1l?= =?us-ascii?Q?Nvu2IUSrRsrQp75+NIuqJYO80TeptSXn/MkZQl4VwrJo5M82/g8sRuJ3ghmw?= =?us-ascii?Q?NJg10YtLyBUO9wL+Zgxmd49KJ0+Y1YzQSOt8A0XeFvC8j+uh2v2/qgH1BbsQ?= =?us-ascii?Q?lsDR81AWDVelXEXAljmabwgeKTrdptI7ts0UPjoK/LYwTdqKgIfQ6pLoE0DB?= =?us-ascii?Q?z0e+G3r/9EALrIyHNxLovsHJ7MtmElnxqaroiSQ6YaimOlcPgxlnizlCEM85?= =?us-ascii?Q?sQXKj3Onyfqnio5ni0116InIoMntx+Wxpsa2BRtlIjBgB8/u9WXxUjGotBcF?= =?us-ascii?Q?3nP1hpnIy3tcdziggyQF8BZ1lPMslbuhYqWLTAbHKHh1wdaaemNoW2yhppPM?= =?us-ascii?Q?KR4GzDtlyw67nH0p4xROHvKD3J++3QKIyCu1y0R3NnJqNcOARf2gkvMZZkPw?= =?us-ascii?Q?OoHApuVOZ5fWpBzdMFR5jXA1AdG8JrzYlF/8+W8YST8OZwgeOsZXjqdUNjw8?= =?us-ascii?Q?X4MfEjs74r7D5SteZs9WUo68mViMNPieJwuokhnvqqF9KM895csWkiJDH+H1?= =?us-ascii?Q?yp4F0WlwphA=3D?= X-Forefront-PRVS: 03449D5DD1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39400400002)(39450400003)(6506006)(8666007)(53936002)(2906002)(8676002)(7736002)(38730400002)(110136004)(6916009)(6666003)(5003940100001)(74482002)(305945005)(81166006)(50226002)(42186005)(6116002)(50466002)(50986999)(4326008)(7416002)(25786009)(3846002)(2351001)(2361001)(48376002)(86362001)(54906002)(189998001)(6512007)(5660300001)(6486002)(33646002)(66066001)(36756003)(47776003)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0202MB2556;H:orc.lan;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2556;23:RHRXB3OVtH89ZCaaSZ/RwH9zd0jJowvDV2yRPl3?= =?us-ascii?Q?byZzaWbUuxEWHxipq2p0S7J1zUUMsTGRNM7GTbfppjxumSGtT8xoqDuWMaLn?= =?us-ascii?Q?0Kv9mDruwwveoGmNC1Z2IQn7XO0ujHL8g4Ouu4bELis7P3dRV9euGwCtRXb5?= =?us-ascii?Q?FohD/W64NNoBB0msR68p6VNNAyTQx+qwYy1D8di63aYyY5XZ7+Hoj+U5vJrV?= =?us-ascii?Q?qHkULgI9hEJ8UvsGkCSbjKtKHdAcixngiFs+njwaHs+PYiXLtt/ktT8WZ87F?= =?us-ascii?Q?kuN/XNTK50kgNA3xrJH31vWyTtECbWPm0jYHfR6VmFe1u1haGesNMUa0xJLC?= =?us-ascii?Q?ItHC0RQDr6xJ6SUfJyOxrKC9EhfUCpuC3sqGjhN7JyqpVlaF9H/TkVRbeem0?= =?us-ascii?Q?idCIpwZWBzOKYmMVy5SpR3UoC0HpJ0Pbxt24Kwzb+xNUO4+MzpTJE3C6aMFr?= =?us-ascii?Q?Rroy1+NkNRrzP3NjPkjdz4XnUTjNZgl7F9taWpncNuVcXlh6CHX0HLyYXWQi?= =?us-ascii?Q?ZtF/uH4YT1ZL94ZW/UbOpa+OGCjViLBtsvc0damWLCuKaYYy6hOWGK2TXScW?= =?us-ascii?Q?Jm7h38PvW2oPmgKFJsZTjRJ6aWB5xsEOteZsWc6bZHtPBbMbF6swwVPVLeVD?= =?us-ascii?Q?2C29F4ZlbMO2RyHN6WDpHo0IS+bpQjhYYKMCNnnfb4JgTFlL7CI1iJwLS3GL?= =?us-ascii?Q?tzhfDEA2fwfcC0vRv3+g9htubFlsaA7+glII/1yhG+8KHWC+Dukf/HGwjEa4?= =?us-ascii?Q?K2GSjTJR0PJm3rDufgBkeA6+DQ6QXJ3Asu9cKVUgy0zIwKeMASCks48cC4yI?= =?us-ascii?Q?f9vIwiNYOoc7CeeZ8aPn1Js87FIutVd3naBxgz/2azylC6xevCj7lb575V1I?= =?us-ascii?Q?0CwnrV1Wi959xm4Dj8/lTF8GnmjYTcTGoduKXGtPIlDARpGJX8bAV2eY67Gr?= =?us-ascii?Q?mhidK8KwQNfn3DrjJ3K5HQcpVPFWeKMlNAaEQ4n8cpS96vS+WWLlKoTiSCdT?= =?us-ascii?Q?5IuhPpTU046+AD8+U0hy/RUzP?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2556;6:tIGdBk1+cs5WN6vnofMnUX7EL4YdGS5jz0xxZWTx?= =?us-ascii?Q?gf89lUz0NSDsa9Ic+grKq8OaKykLl+ZtVUOaWcwjRqmbcfj+bsjQqlziMhfl?= =?us-ascii?Q?gfM1fwguuHzfE3Z1lYm63ccKhVKRGKUSJ7H2BFGd4OPU6E/ri0fh6kSv8COt?= =?us-ascii?Q?Qd34M9v7idpaBYR0+jF02yMpMJ53Qd5REvTSQfvH6vP7LL1I7D14JQG9VzHG?= =?us-ascii?Q?H6H0D+0Jw+2lDF4pg+bT5VATDMvLBBymaVLP+4S2TT9NUyvPqnAuMGZ+YQ7d?= =?us-ascii?Q?p8gk9NKcyMzOU4BxiiA/MmnpP8n/ypQgMafQjc/kCBP8u1Ja6384zyLcl78x?= =?us-ascii?Q?ujPS9R6SjCPo7HscgBqtnDDE1EZ2JgSQXwFHgCVlgpxdGiF9p+poDIg1O4eO?= =?us-ascii?Q?KwmkNqAQhp/3iykdwjnRUbsTVYP6cD0a6F/mRMGC4bnkIWky7q0uPU99jqzB?= =?us-ascii?Q?y5ma+OdOXNBn/dcucbCyUgEEk7jzkweXZ3hwOl7X8ITwgg9afy/4aUHMhuk+?= =?us-ascii?Q?F96Oj4mfdPISbi73zQ5Yj8tDAx1Ln9o3jbv1TLOir0L8UV9hfeizzbEvJQ7P?= =?us-ascii?Q?dZrNyJ9XxW6tNXpEOu0MqNddsDEqzdHelG5A9S/OOiZJb1Ls2uZgmyrwP6++?= =?us-ascii?Q?72oR3OqubMHpz/jJ/RxsFV4mpaQtc18cT9V07f+GyKQF7eeEqcQcLLeN+Z99?= =?us-ascii?Q?4wu/CcgDBRf8cUfymBUNeg1YWMnklARVbAHfhNteqhgIOf/lUubuBv6u6rTf?= =?us-ascii?Q?I9/7o0dHbM1ACvF6DCbKugifxpEmZanlQMC5mcFayottJc1HnzRGxeY/kr1S?= =?us-ascii?Q?296ghSZgv1fVZSHmwFxVIjG+NMZZsDPjtRxKP4B+JghYAslhxAxvJFrXRwAc?= =?us-ascii?Q?yWqKzouCaQ5/7Ij5rB0yv+Grr0NO+8wgL8E0LLh1VpvSglZGWaMx4mvOpXdr?= =?us-ascii?Q?evFajUA/8guZvUTRrGHIbWKxaPeL+nIZ+DI9bPvhO+Xod5yaowKPX/wSZTQM?= =?us-ascii?Q?7Xk=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;5:3/ky9p4UCOAA2ciK3PHkRAYz/pzjaY6FeR5DzPPIr7op2+buDOt68+dt2STkZoSf5LyrzhQEvKPy/Vtc8sQrTIh3yWmts0Vjmg8U1x1Apv8g8uZHcYzXhjGPqyM6ZSGddctBnNDxB8aGYr4Vf0q2Fj+w5bV/AxxZ009PV5Y9xxcj1JvrQYF2oWxgCpc/+nZUzpQCr8KyjWJKuwgRCeg/rl4tLTLKDassROwM9dSyNqnQNLNPodnqHadIZqBQ4Y3gi+oAS9knj/P5JVS8ss+Y4DbtpixKWHI2/VjpjwJNw281XJb0kmgWWhRATZP4dunDV4GV6tVoD2attvDyQbkk7UMk8udphrfiQpe3KbeTpraQ7SMK20S/EDZmw444HuoZq8avqhqP4LDFAWTn9npSRDhHcnItHoLm+NMUICMebFtuyyKxZvv73LRwZA4oKDcc33HUMKnsqelOrjKdJ2ktU0VEmxgGPko1VDrCQxNuUJONuIUayygBKfAm+S6NGGXf;24:QXOkuREsFjIHwB7HIrvzTAJ/aNZrcJlDxlsxhBKQ80UjxEJ1DgIjQY8lj0BbNcwwje9e9dMrw2aH8st5MaX3CzjL8LgBrOQCyoZqHK5LzdI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2556;7:1aUP004s0pJXKi6X1sj7T3l0k0fYH6Z3UIpoj3CaVV97uuCvLUX14WolQvvmEzPYEq0m+OWlJq5pPF1jM1hOgY11+py6SmEIQNc/K2da4JJaF+JjSOsQN5flY/7XuyZMOR5txdvgtwhdouCfMrct9RiZDD0sn6bSTg3iAb1oMylfNM6kHIGcpiZbYjeb44Fz7XtYx0B2lP5SWUTWPv54TkCxjPJ6qdXth8Ky1MRXVe7G+5Gc0nEj/U+IAw5RII4Wgu7UBTDGPopZ83YHASTCCoOoDiD9gdbpng9nzSeg6iHeufwggp4g0MPrndKAYNpIOnEMdrMXZ2Xq+rP1jBVGt6NNV7yCx6rd/JafXlQaKKNz3mJkgDgRSmtJ1FBydokgYUUn6gabIujvWptiSmvr/4Wazi7vqJlZGcVJRZCS9h2pdnxGMSsg6UFMn0+Te6Uxidzy2q/HCP3YPo5gjx5I14PunMq1/H1ZUkkomVbgim666mg3agPppHRu1/ZzsAJ0LLz02ZI7gfWJvcYKaxI/fbPCJP2yVlzaPT10ihlMki8M9YFYJZok40m/Q+XsI/Nrm2q40z7HDL7rqahgCddUkdDQn6/pdP9wat775BIIx4Fu54hZlFUZwQIZYmsg0/GPP4UTcsG+LugKohc9cMgAD6Dled7t/Acl7UuIOUO1Gl4mK02V5lu+RC9ppnz6ZRsull8QD+T1/TpqpHA8H0THVol7fNUbeTKXmCS+/84GflMZaTWAvh9U6/nps75jxUKaQsr3YO12MzhZPoPFgmHIiNWDB51UK5jIYY6/ZQ30k48= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jun 2017 19:24:53.2767 (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 Content-Length: 3511 Lines: 74 Hi! While trying to get CLUT support for the atmel_hlcdc driver, and specifically for the emulated fbdev interface, I received some push-back that my feeble in-driver attempts should be solved by the core. This is my attempt to do it right. Boris and Daniel, was this approximately what you had in mind? I have obviously not tested all of this with more than a compile, but the first patch is enough to make the atmel-hlcdc driver do what I need. The rest is just lots of removals and cleanup made possible by the improved core. Please test, I would not be surprised if I have fouled up some bit-manipulation somewhere in this mostly mechanical change... Cheers, peda Peter Rosin (11): drm/fb-helper: do a generic fb_setcmap helper in terms of crtc .gamma_set drm: amd: remove dead code and pointless local lut storage drm: ast: remove dead code and pointless local lut storage drm: cirrus: remove dead code and pointless local lut storage dmr: gma500: remove dead code and pointless local lut storage drm: i915: remove dead code and pointless local lut storage drm: mgag200: remove dead code and pointless local lut storage drm: nouveau: remove dead code and pointless local lut storage drm: radeon: remove dead code and pointless local lut storage drm: stm: remove dead code and pointless local lut storage drm: remove unused and redundant callbacks drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 24 ----- drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 1 - drivers/gpu/drm/amd/amdgpu/dce_v10_0.c | 27 ++---- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 27 ++---- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 27 ++---- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 27 ++---- drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 23 ----- drivers/gpu/drm/ast/ast_drv.h | 1 - drivers/gpu/drm/ast/ast_fb.c | 20 ----- drivers/gpu/drm/ast/ast_mode.c | 26 ++---- drivers/gpu/drm/cirrus/cirrus_drv.h | 8 -- drivers/gpu/drm/cirrus/cirrus_fbdev.c | 2 - drivers/gpu/drm/cirrus/cirrus_mode.c | 71 ++++----------- drivers/gpu/drm/drm_fb_helper.c | 131 +++++++++------------------- drivers/gpu/drm/gma500/framebuffer.c | 22 ----- drivers/gpu/drm/gma500/gma_display.c | 32 +++---- drivers/gpu/drm/gma500/psb_intel_display.c | 7 +- drivers/gpu/drm/gma500/psb_intel_drv.h | 1 - drivers/gpu/drm/i915/intel_drv.h | 1 - drivers/gpu/drm/i915/intel_fbdev.c | 31 ------- drivers/gpu/drm/mgag200/mgag200_drv.h | 5 -- drivers/gpu/drm/mgag200/mgag200_fb.c | 2 - drivers/gpu/drm/mgag200/mgag200_mode.c | 62 ++++--------- drivers/gpu/drm/nouveau/dispnv04/crtc.c | 26 ++---- drivers/gpu/drm/nouveau/nouveau_crtc.h | 3 - drivers/gpu/drm/nouveau/nouveau_fbcon.c | 22 ----- drivers/gpu/drm/nouveau/nv50_display.c | 39 +++------ 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/stm/ltdc.c | 12 --- drivers/gpu/drm/stm/ltdc.h | 1 - include/drm/drm_fb_helper.h | 32 ------- include/drm/drm_modeset_helper_vtables.h | 16 ---- 36 files changed, 171 insertions(+), 640 deletions(-) -- 2.1.4