Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752786AbdGDKkY (ORCPT ); Tue, 4 Jul 2017 06:40:24 -0400 Received: from mail-he1eur01on0102.outbound.protection.outlook.com ([104.47.0.102]:45036 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752194AbdGDKgQ (ORCPT ); Tue, 4 Jul 2017 06:36:16 -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 , Russell King , Dave Airlie , Gerd Hoffmann , Daniel Vetter , Jani Nikula , Sean Paul , Patrik Jakobsson , Ben Skeggs , Yannick Fertre , Philippe Cornu , Benjamin Gaignard , Vincent Abriou , Eric Anholt , VMware Graphics , Sinclair Yeh , Thomas Hellstrom , 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 v3 00/16] improve the fb_setcmap helper Date: Tue, 4 Jul 2017 12:36:56 +0200 Message-Id: <1499164632-5582-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: 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: 430ce0bd-8677-49b4-418e-08d4c2c87c7c 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:KV9CeqiITPX5+XQuMJKaQrqW5sVMwIQP18tpSVr7AP3PBW7JiSIxjoQTUI9uqTvYbk+d100TVaRmSxtNtjZ7bZbmkKVqtrrul8WTbsNXGbMn8umY5w+qSlL9omr618DOU5AKUKBiJ2jCclOI+oK2o51JWCZ+G2CkWwP/Yo6DEV12RAk1/vuv+SaMWts+DgNqLuA0ttugWkkJQKyCSaWmqvrdFALObvYf9BY93jucKaGcBHIGFkyZD7ntwAKheLxCWU7MFCuxgGc12dkRrPByrAdxuBWjDErYYrHk5v3AkEKmDq29R5QoKfP+ldX2yb7dy6svvUIglKfgsc72QJGnuSiWPxTHQGusSmIpaE+q0n7ZQn4wncvrWaEQwhJMeMqtsYpWVCb31qLDavvdQhIH3UCJgLmmlMR8WBxarYdsr2ZIcalMVbC84/rYKXgjR3nCjgsLsNc7KpTgcSAFXADB1BiLxyOzsVEIRsbnhpdXMtjei+Tl7rKBs3+b9uiIc5HtR5wpclBqv9g92mZGE5U5mxFDtcQg0ZImBuzl+Fqq3JB0NPWyBMtkXpEsH0e3nEojgWb1WPXZfZUV4DvXZnq/u+UeMfrKA93CoMY9gYrhniMYHNFNknHChTXZsGEAivoGzq0OYL+1iY7LahzhFs/ZiI+bVn8cjSEGUjGL3F2xtf9jtyU9OhsvA0+E9pPFatyGbOUMVhnZ9NU+NpLctLWxoA== X-MS-TrafficTypeDiagnostic: HE1PR0202MB2555: X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;25:JyO6TRQFGGi1sdDRHj1puDIzrzHKYixNRlQoHHEDTJ5qK3deed2F2UdG4hTDu3fvc4WVW5Sv+Ohm8SZdEy7f7Sy8bJ8gUxNuZPWfM64OG5LPTjZV8uAaiXPqqUTtmbYqSZEBp2HcLfj/LlWTrjxtv0DEADHf+VnFiAjNxEUSTtMS8jUCIc3rqTyGqKCmxZTKKPUZ7kguxukfvFVIRD3Bj8/OnrhzB8jKlcXM8lVDW+CujZGXLdfDTj0tynDT/dRoPdvNPGERq4EDZWqD4Il911KBBmoKUbwPfMQukg6Nyf6wPaInUsza6b83rn25SDhbDx37ZqORws4N9PogD8F17GNKQwY/Z3KlLmRRpz4CSr1m+2Ul+VcdG6TmzrsinMOVuw3cG4xDoc9iNTsHulS+sJI3khvkpQpE2C8Qd7GW+HZzJTgqhOQcF2IeVPgsOkpBERDww14kMN+gI5IbguZZtcVi4K2Gcco2GZU7Hz5HiAhQA7TXmyeXT7rSweQAdwkjb6qS31Ya4wozH/x4sgBPQ7Vp77P0GzTQdUWin2Y1+OBreR2pyC2JYkvDYqYfLwo8Yj/qM1F3YbRuIv9dbkFXisB7M4WUGeIh4PXkyZkfuzHP26/QzngUEaacKwxqz+UndJ4j8STW+MU0RyfEd/p0xeW5Ju8XIrASIkS1DgHq9b1ESjy3AQBx9gLV9zZDt4Fei570YU5fG8+8lJCuWzJbqHAl6yDHtW1Cwo5JpOl9RMygvSxniuJIv5knwJ+LhtBO5zICJKWhht3Cdi+/koFY5Ju1ZwjbJmS0tPU8UES4ph08WGV3AftrfejGgT0t9GDsUbPcPNTWpaQVuo81Cfy6am6omkpxERuZO8Gh1tqh8frnjcksvCNKnpGrGIDk8/jdhwG8XCFxHaMeWw6sWlQz6v9ll8q4aOCbcg8HtbQnznI= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;31:TXFYkqqc/e6tav5oE2c3UX+syrE/V8r2YQQ9/4LubydBhFxxCnHbG+i2vrPIKhCIBltTR16Xz9d8n+2dmWbRTH3/NvgH60Apc9MUlHaKxY7BrvqAHSMGuNoAKkrQAYa+bf5i2ooCsB+RBRIw/MLoeoUkUlAtLZ+tlgWcjQMcre8Dziue2JcAeF6HQYgg098uGPUA87mO+WkGEM87MNMCsRyU7bfajZLLXjBspMcO0HnJ2XuYCKjnpj7pvWmD/MduU41PYtyPwLrm1krXfwc3/u0ymCVD6gNo2fB72QpATlLLNpEK7v+Jmu2dY8YflsLZ2EKWFw/K/lZ9aIxFDEh6bdYFekR8XBBbRYrFIuEdPNyy+KkcqHobooHXKfW5re0EBGZEtVCcoaBm93sEQQotZNSDuGnnYaiSP1au6UUBxaliuZwn79YE+94G7IF2xg1HU3sKlTfJrwmZJXZKqeMGt/OeKNzmxPIwsv2gnOvm+2/GgJmI7YKgqKYvp9dOdchtUNuM3I+bxURWLzK9TvQRt2EjWeEqyL2cUO/rOogVxhRAVXii8SaIt0YiPw8zFKM6sAet+Zb9Nj+lgEdViYksYiWEQ1xsY78SF7Y31C9KP5Bm6aBeBk+iNpur4WFEIb+Al3HqSEGyie3tmLbZxMeA4nxvMj1vakA0zFZ3AoQ2xOM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(247924648384137); 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:YVbTT30QsoA8wtcgtNn5cJh+XGwzIPqSxkV8wvhV?= =?us-ascii?Q?fU+Q9g96TrEXlWWXQUno1bX3XXX3zfKFhaf4x4ZwFaPKbb/HrohP4Z6e9GS5?= =?us-ascii?Q?TgJGyQCWRmn6E7i1OtW+xyFNMnrhFmimGtCYD4GkEtQJ5c56yHzeNKfpCk7p?= =?us-ascii?Q?6Y0ckfPRZf9RNTBhacU5OKGrKJUCXfdTAc4giJ4bLZfsU+Y+Gb+5kuUGK7e7?= =?us-ascii?Q?z3bybkyaKgv3iodh2Q6y3UHBXtZjBEQsI+qNyqozcD8Ghg3zLYE7I6EYNGDz?= =?us-ascii?Q?W5Ji0ZORvXEmQA6403rMkuwn1HHdqXPsCS9jF7UV4rD0uk6tawMN4cejYNqt?= =?us-ascii?Q?6+AC1Pybm7ywHED0NW5Yo29DfEubi1mKHm91iaSz7/4fnUR3W1f5F2Vtpebn?= =?us-ascii?Q?HU3Hh11RhADvA8Aw8HhbHERQmUXpBSejj8lnIr8QxiGNstUhhBdqw9BOVUlw?= =?us-ascii?Q?kHPff35k+GNDFi2m193T0gZK7aEEt5AQF5Of9ANV6U93delDh3j4ks2C/XPP?= =?us-ascii?Q?NgcrW5PANdj5H1bAtt84ft+MfYRO8cHV1jN9WVhLI2+ABym6tEmkfqA2XfY5?= =?us-ascii?Q?vy71zGeztkDkrBWuZm8qHPzVS9wdJcnXhN+n7icxkBH6xT7v0g+8dnMMTQi3?= =?us-ascii?Q?SbS+cvg8/fuEsg8oTkr6/fG7kTTFulslvjGodOL+L1r+8qBw8EDcIMKox+ZV?= =?us-ascii?Q?3CgGZgKf2Yp0yLbAXQQvnoq3r7xTE8KaJJmgSpcxBm18omRhSwFrDBn2LFlk?= =?us-ascii?Q?S5w4hEe+WmBeplC/ippGX2vbO0fg6lr7p04p8MVTUMaOPMwr0hF0UKDDf3iJ?= =?us-ascii?Q?BhDLTVTMp9w7lLUwyLlt15r2lVhPgvYU8OHUjefONvyKe9fSIzVQQmjjNMLP?= =?us-ascii?Q?nv9Ti98PTH2bUfQA9PH0qyz+IWzDLoLXLKm/yEfF4Kdjo/khS3DqqjW9Ywbm?= =?us-ascii?Q?6dtOe0NPgU+PE36xjO9hmXISZWNtznKHzFxUel1HiH4njGsJKZ7YXTymr8f2?= =?us-ascii?Q?CsMbuMr0KlviSn7GO5lHdcGpF5TYPdzgm++llWxubnZ3hhR/+vhe/FzoNBs9?= =?us-ascii?Q?VXDuvgtR7Ln8bch4xoAu68zSpU3PuESX2UMVkmH+sdzESt+QdMyomYpHpYU1?= =?us-ascii?Q?sLeoIIh2KuLJsIH+aSLjIry2S9x433KaGgHNWMQi3llItzsFv4VTv36TiCaz?= =?us-ascii?Q?APN9K3TpgaN8QLpfNG92FlSLmvPSzhvoTCQkW27KLCBQKoKUBgeYgdBxIDeC?= =?us-ascii?Q?0AM6FoIIT15rhMq92fI3szekPgQvnV8SYCmaNabGKF65WEdAKm1Ra0Dg51hn?= =?us-ascii?Q?xxDd56X0GtwrQFC6cWwm7UI=3D?= X-Forefront-PRVS: 0358535363 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(39830400002)(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)(8666007)(6512007)(54906002)(5003940100001)(7416002)(6486002)(6916009)(5660300001)(6666003)(50986999)(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:f2Dzal0YxWISEW+7J56UnctxDtJqaOaknWeumrI?= =?us-ascii?Q?t7uHy+Dui3Io0asRe0rtZ+5FCs5NdpSGY5WQa+SP0t14DNUu6ykI1dA45Dz+?= =?us-ascii?Q?8DaQQpMJ+KZBqVo5ZZ1K+vvLGmR0XyqaRF2keRcC36xP3SZGgXP3mDHZyaLS?= =?us-ascii?Q?/UZnDPo7NuKnKAprERlIBDpGe54b0MwrGCpH0EO6kpHKXsnwNPUXSrsiV3TR?= =?us-ascii?Q?/YPi+MwOxBevk8g6kNDwkXlBRNWugN1Tc9SyR5r+0P2oK/vAfYwwKD/XL9JP?= =?us-ascii?Q?HtbPpEf7WhVhkyM7fcUQ9nFDXifzGGhCgLfpmRjJlzbKaitGY29RrvK39zDN?= =?us-ascii?Q?n4G82VPToUqghMtbr76WGi5jbrG1zEeEQ+vWP5G0ixgY7bLOQhjBr+lr0WBa?= =?us-ascii?Q?Ak/VLWV3R+TcDMsxYgWq/APtflQ3PBNhNWu1Glutdkz7MWTsTY0iy5ANMkAz?= =?us-ascii?Q?XHUoPdnfi6WJQLL1i5glDYDc1q7YJTDCSGZLWjArnddYL1AVr18c8pk9Nt2o?= =?us-ascii?Q?DUBOIpnLV5cpHra20frUCqHruKKomUSegofO6iEE8taKT20aoBBYx3o39HG6?= =?us-ascii?Q?DLgPRlyVTefdESJPKKeB6zouGtdMFibl452kxQM8q8v6AeTjtXj/VJcEiSsh?= =?us-ascii?Q?N9F4iv7iC27kDUpGoB85mzhKwdOQwP2x/Uk5wUGShcfmiY4N2VTWx1Rltf+g?= =?us-ascii?Q?1KSOwzai7W9gyA6orERIfXDSxu039DWOpZSFGSfeZO5xJUEv87AqzL8SLUDK?= =?us-ascii?Q?xrZro5tuQbvCaXs8XXRV6cEU2N1JsACZkdWjGeNLzLdat/nXSY+G2JAxAxKV?= =?us-ascii?Q?95QECNILkG7tRwMkTUdk/kexFLq8ecoLuAF1bfX5ZU47aLgrwMdvKgBG2Gyx?= =?us-ascii?Q?BbzpBHk+pnCc4cH7nfBrVazXrdV12OgGytJm2i8Ef6okhcE63QlA6kuIYhM+?= =?us-ascii?Q?1fLBPOEuFnmbaX3/835UpFMo/0izyVD2eeAZPPxDTHwoOa77WH5hpNsD4g56?= =?us-ascii?Q?hODSIi70YVmcjBCcdJgpzDZzV6MATnbgpnB+viaIrjLDhAegal2kvLGAcbja?= =?us-ascii?Q?D2WegDN6cUZpBtQYkiRct6zpf2GbF?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR0202MB2555;6:9AfOVVmUu1dRQ9pcA2QlkRsRg+jsGb3NUUbSo4hD?= =?us-ascii?Q?+kygTUHO2HLQ4qa1e6AoQxzujtAbkJ38NDP+ohdmKUfWSsoF7RYZq0eWpSEM?= =?us-ascii?Q?D4LkFdB25bIKsrRW4jftp+7hcGdVN8QOFHSI9Hvy6yA4yTuZQviKiz/CvvTa?= =?us-ascii?Q?fMVmoQSEIkU0SaxfeF1rdTGErjOLy5joNQpN40ujalM4W20S+KW7Z8pMr3oB?= =?us-ascii?Q?bfUZqTby8Rww7IQ7cbLfs/m8ON5zI8jc4lgVCJGI3bUbcDZmZ4/zQEL5nqI0?= =?us-ascii?Q?8+klPkxvoGO7/AL/QGYtXHVHDbQhKo0wKlR6Vb6dCb3td0t0w+9XHfMj+1at?= =?us-ascii?Q?LtqaKl4WfWgo6/2MQ+qMtjsd/XamFF2CM4U2AvmyCEASG9ikC7ThatXxYSnA?= =?us-ascii?Q?CcV/Z+kISYfVECiNqOizDeQAJnxerf8vgm91op2K5UI4Rw4aTDD9AKx3Eoyz?= =?us-ascii?Q?YfKXmZctIebMGvYunwyHxRDmCjjIIsskHKoMVUZLqz8PyBEKQPBeDt7IZZB7?= =?us-ascii?Q?r68JJyYQYVLla0TKGKRgxUrAJxrg0cqIKoK7DVCIvwcpbb1O5FISgdAfQ2zO?= =?us-ascii?Q?3AMBr7HvQodcu4/v+3J6jd6aIvXliRwKtSh1E82srMMlVCZ2iqB0CEIMDbhZ?= =?us-ascii?Q?tJjVgPn5JRIPo38MpKAJBeSraHerqDNUntN5pAfLAmq2X+kryOoGOZMDbM67?= =?us-ascii?Q?keqAIST+mqVEsWc1DFAjNQF+JhiluDaiSLPNf2pN5ebDSWfqHxzyIRl8IwXX?= =?us-ascii?Q?e9ZS9t5atAq2m+9xgFwJVFsTyXdq5KkaSOf0HCBf5bEbsWBf2fa6lkZ7/IYp?= =?us-ascii?Q?HgGHngYKBPcS0ImvuKIbSiFN52Lor7R124QpZN1KY7z7cq/9E1ZuDgzqE41M?= =?us-ascii?Q?BdCdAy2tVzYbUE52QcCCCwnITaVajBgwI77JoFNgok7E9hUiA2wVs55sIm9J?= =?us-ascii?Q?IYFEfqxjySN5YhM8NpntBlu5TJ5PRvDasep9xrLwbfvJgX3NDEpYS9hAhaHA?= =?us-ascii?Q?GFQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;5:n7uvZZ4BscHR0Af3sYGlgbwxJDtjjICaatZpJYureSt4o6LEL+CPLpEjpc18h2KI1st0bBAXJ2WhBx+zBgFy0j4M/aPDsICPjQVgFANEE/gSeqln4BTJpPnIPmkdF+HVTbEDQUukr0rDo7SgLco1uRkBL9Ji3l3VrWae+UC+lifFLyM6bhQpArOGd05yzby1gDIUmGqZmb0mYaCzMRBslVd4X1qXkAHCib/nlwUQf/bNIh2LTB/JzW42DRC2LZr0HXPAL00IREpg3hIFeOggIE2rV2C9qsRtnKyqso3C/ePLzh6S3IMIFjnC5E4BO4CdR3Maeg0NwCCbuDJgaJ5oHYFMM+mDVGvCyhm4CPUYw5PGUML8DHWIMlnDPfYu8TaNN9uZqU1fjQqs4Zt29rpxw+sL8ST/+AFQFtx3PCAjTpDHRqOMN1Rs3isrk3YD1aTLM+vB7Hwm5qPjnh9tSTXgPgDXnK7ggELUjXhOSqsG1bZBm2HIGxtICVjkjXcv6s9V;24:qHWWiQgQiBQG7qm4uRr49wgPlxFJ/Vt0dyI4ctrwOPEu77Z+ykxsQlWo+6PjVFI7Lp6hD1Ca8xnITcwmUSdnkfIT7CeyxKTkDPFa5V4HapQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0202MB2555;7:eB5UHdOfUQUfAwbuCUIpb/503Z9vG5HB8R72Djnx5olME5DN2br3HxAVVGhhiyUD683p08Ril/pW7tlIM/J49birWtP7WcRDg74uW9lqx4aBJsXcyi9gx4zyPTLt981PnRCsgv1vh4iH3Vf0Zf/qUX3Ky40fwaHFHis0pP2lUbhE+vVnpzJrD5fWyG++9ro4r6F5zy5MkkMWK0wd6SFM5gm8PRAU33C3JXZkDO9XJ3cAdP/zT5WRwVTfnGFBgndiuIbUFlWTaqQ/nPpIT2bCdS1HqtND0hvRK/0BYFCU0TPeWClBpCzhKt+kZAqLeZqYGT5CSRaEadqwSzfqoEnCY4370xzdA5VM8oK9907LzXZ8SlvXEfPKG5bgyXX36S4y5Jncqix/wJMLZyWi7w/eQiIDtmCJTzCGNqHZnYdsY8PxsywekkjNVfSxSnX6IDz9qg7qf9ztSgIRZ3GenAtY97ifFoOQ0dfqdDgv1LssILkBZVvUHloOAq2rmyY3rGtqvGwPUgJb3EnXXYsErac/EuNmgMYxRCAyO5jCmv1mGmfP4TtR0rcK59C7bRU5SICB6DLaOdxGg5+PgAiOED1fzJS9GYA4iW4lWgEpmMvLIZ5LMtTwWlt5W50hwJsK3ThsYEAy3otkQ9Uc1uJFyOaVpjzv3H5V6mql2tkfLBaKG8Ybn+4JMddUmi/yDLpfujStJHa8mxNL8WNMgJZdrmd19UyrqK2SFTORb4t2CBkdnUylIWiYwFI0K3Uw0GIEt702IreKWXEo7wpKYBPkt6EJjDSPAxwutvpENNdIOzRkS8o= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2017 10:36:07.5254 (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: 5727 Lines: 121 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. I have obviously not tested all of this with more than a compile, but patches 1 through 5 are 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, or if I have misunderstood something about atomics... Changes since v2: - Added patch 1/16 which factors out pseudo-palette handling. - Removed the if (cmap->start + cmap->len < cmap->start) sanity check on the assumption that the fbdev core handles it. - Added patch 4/16 which factors out atomic state and commit handling from drm_atomic_helper_legacy_gamma_set to drm_mode_gamma_set_ioctl. - Do one atomic commit for all affected crtc. - Removed a now obsolete note in include/drm/drm_crtc.h (ammended the last patch). - Cc list is getting long, so I have redused the list for the individual patches. If you would like to get the full series (or nothing at all) for the next round (if that is needed) just say so. Changes since v1: - Rebased to next-20170621 - Split 1/11 into a preparatory patch, a cleanup patch and then the meat in 3/14. - Handle pseudo-palette for FB_VISUAL_TRUECOLOR. - Removed the empty .gamma_get/.gamma_set fb helpers from the armada driver that I had somehow managed to ignore but which 0day found real quick. - Be less judgemental on drivers only providing .gamma_get and .gamma_set, but no .load_lut. That's actually a valid thing to do if you only need pseudo-palette for FB_VISUAL_TRUECOLOR. - Add a comment about colliding bitfields in the nouveau driver. - Remove gamma_set/gamma_get declarations from the radeon driver (the definitions were removed in v1). Cheers, peda Peter Rosin (16): drm/fb-helper: factor out pseudo-palette drm/fb-helper: keep the .gamma_store updated in drm_fb_helper_setcmap drm/fb-helper: remove drm_fb_helper_save_lut_atomic drm/color-mgmt: move atomic state/commit out from .gamma_set 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: armada: remove dead empty functions drm: ast: remove dead code and pointless local lut storage drm: cirrus: remove dead code and pointless local lut storage drm: 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 | 29 ++--- drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 29 ++--- drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 29 ++--- drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 29 ++--- drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 25 +--- drivers/gpu/drm/armada/armada_crtc.c | 10 -- drivers/gpu/drm/armada/armada_crtc.h | 2 - drivers/gpu/drm/armada/armada_fbdev.c | 2 - drivers/gpu/drm/ast/ast_drv.h | 1 - drivers/gpu/drm/ast/ast_fb.c | 20 --- drivers/gpu/drm/ast/ast_mode.c | 28 +--- drivers/gpu/drm/cirrus/cirrus_drv.h | 8 -- drivers/gpu/drm/cirrus/cirrus_fbdev.c | 2 - drivers/gpu/drm/cirrus/cirrus_mode.c | 73 +++-------- drivers/gpu/drm/drm_atomic_helper.c | 37 ++---- drivers/gpu/drm/drm_color_mgmt.c | 27 +++- drivers/gpu/drm/drm_fb_helper.c | 195 +++++++++++++++++----------- drivers/gpu/drm/gma500/framebuffer.c | 22 ---- drivers/gpu/drm/gma500/gma_display.c | 34 ++--- drivers/gpu/drm/gma500/gma_display.h | 2 +- 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 | 64 +++------ drivers/gpu/drm/nouveau/dispnv04/crtc.c | 28 ++-- drivers/gpu/drm/nouveau/nouveau_crtc.h | 3 - drivers/gpu/drm/nouveau/nouveau_fbcon.c | 22 ---- drivers/gpu/drm/nouveau/nv50_display.c | 42 ++---- drivers/gpu/drm/radeon/atombios_crtc.c | 1 - drivers/gpu/drm/radeon/radeon_connectors.c | 7 +- drivers/gpu/drm/radeon/radeon_display.c | 73 +++++------ 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 - drivers/gpu/drm/stm/ltdc.c | 12 -- drivers/gpu/drm/stm/ltdc.h | 1 - drivers/gpu/drm/vc4/vc4_crtc.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 2 +- drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 2 +- include/drm/drm_atomic_helper.h | 2 +- include/drm/drm_crtc.h | 11 +- include/drm/drm_fb_helper.h | 32 ----- include/drm/drm_modeset_helper_vtables.h | 16 --- 48 files changed, 301 insertions(+), 702 deletions(-) -- 2.1.4