Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752833AbdFQRrg (ORCPT ); Sat, 17 Jun 2017 13:47:36 -0400 Received: from mail-eopbgr50090.outbound.protection.outlook.com ([40.107.5.90]:45082 "EHLO EUR03-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752613AbdFQRrd (ORCPT ); Sat, 17 Jun 2017 13:47:33 -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 , Boris Brezillon , David Airlie , Daniel Vetter , Jani Nikula , Sean Paul , dri-devel@lists.freedesktop.org Subject: [RFC PATCH v2 0/3] drm: atmel-hlcdc: clut support Date: Sat, 17 Jun 2017 19:48:01 +0200 Message-Id: <1497721684-3002-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: HE1P192CA0016.EURP192.PROD.OUTLOOK.COM (2603:10a6:3:fe::26) To DB6PR0202MB2552.eurprd02.prod.outlook.com (2603:10a6:4:1b::10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bcd76378-a2f9-4de4-7faa-08d4b5a8ec31 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075);SRVR:DB6PR0202MB2552; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0202MB2552;3:TrNg1aufgBcKUPjaOfvv9juGJIK4TDQgrnhJ+4KqT8uwEyCTVTYsB9U08f2ApaVx12JDmpyD/vDzPc6P6obeeMhTzUl4KS1dicC5riHYskUYY6y69Y/jv4ZDjQA4Vdg/FpqyVMtBLCut4WBPvKxMJ9swPABNTsV5QzvZQRhBFWn4mJ4kGQtqBP8lezJ9T6mHh9ubYlPwm/3TvI3pCNXaDD6CPG3syhiwV7X72yWWnFwoTa4RlyRVH3F4WUk3zrBhrfP76YWbhwIrOMVOEXcHB6y5GFRIua10wJInG0wkSAHAhHtZLhYyUa23yXDC3QKu;25:uVDRThe3KQqfQvyi8SGr7pVKEbl0hbnjkx36sKP4Fs75Ok760EiB97w0/G1+trldohVxezJFYIaD1b4P90KxMMPFeco4ILDKc+LyiOuteT1m3upGbv5vuutucmZyzdj3/FImLehNdgZmjkStzkEfhFeKADlQtrollXxDkFxTS2FGrt2Xv35jhS1plluaehGt84sT7q/ASsI4K+TEJaPuHe3ZrWehRYyU9zhYJbNKuu/CezQUSXCGUYrL6HQd64NS7tfHTsU0kYuktXaGAIaCMWyjiV1hJH9y+zNZtgqinSLp8PMet5QzC8t0jbONuU9tX9CLVZ4MryD3o9NNxkHrTqqhegwLfGjxga4LmpH/vbfppUnZ4iXAMm/F2R9nG42OOrZ9rSW8ueCI7YhfnGDsGMXerTxlgRQpB/3u3qNBFSbCuoPTvgUi2YXCpB7FXQ8fgSXjn4GD8YEPn7F1/ziBmfwaOXJ9xhbwe+t0I8J2kx0= X-MS-TrafficTypeDiagnostic: DB6PR0202MB2552: X-Microsoft-Exchange-Diagnostics: 1;DB6PR0202MB2552;31:hrqm1f/dvQPb1F0176q2KTaW/AyTkAf7jXfb/I0qrZ/ePf2I9M9aegfRhkJko517DxsRyn6rh45hdQzTSKzISfe+cO/4Qa12LvJhfYWJe0dHo/y9y9ql89y5r71brUFsqwBWbZV9LMidYvv/imX+9DSvyPTEtPgzJHSEtYc8wfNyUKRuO5Sw3/NV507r4dgrKFnFqiuGSEUONCPexLzSGfUpBQz2uo88dr2oPltKrfY= 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)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(93001095)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(2016111802025)(20161123558100)(20161123564025)(20161123562025)(6043046)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DB6PR0202MB2552;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DB6PR0202MB2552; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0202MB2552;4:jCBgJATA5nbQSE3e1KfuPzne+OIFNk9bSUyfMQDJ?= =?us-ascii?Q?Nl5A9yBCEzevhP/H7DjO3W4IFStWO0erfexRXnu8v7POEn79N6Am7shWyDbd?= =?us-ascii?Q?mfhHwVk2ncTm9KSUnpQLir05gLHlgtufWD+6QEiYXRH5WnBtA/5WsNrG8vGB?= =?us-ascii?Q?SL5nBnem+kuMoGm2exJJuu5vP1LgS7+5wfVDfF1ockHUtAlVIzn4M7KvwHPh?= =?us-ascii?Q?qXpSNymvG7uD1Umyt6XcM6liDBwPO/2YzMSL17fZyMcLmyV70zW9qJ4L7Uh4?= =?us-ascii?Q?Y1nFYQzoDTxICbzm36bCI9Jr9h25BlbJsRrHsdq2BYM+C2Jz2Iz2YQvWuaoe?= =?us-ascii?Q?+E1LKd2ePtfQbIZI7O/83mP05w6TTr+mDMXcg8oLdyVigobWjwKfWVgM053k?= =?us-ascii?Q?m7TCHAq5uJ3Gut/j35fdzAfkd7kh+8/1XeeNININSZi1QpUkqESZIJbBnCx+?= =?us-ascii?Q?Gcn/3WoNWFbKYAuIxJj68sCPFTO541DBqhfIAViIwqCQsRGMPRLJa6mEEShh?= =?us-ascii?Q?pvYdUc5+7riPLmwQHk0TX50gbbnXwR/jgwVxImx8K3bswHggXsqMOE9kK1/S?= =?us-ascii?Q?4j5FZ/e1SJWGblY3bpE+zt8flOgOATAsmkVpV+jYoVFIV214zqY+cl8FFLJQ?= =?us-ascii?Q?H5lmkm8fQ9wiaMhrxSqt+o5bYSJ/5El+69Ofe5W3Sn3Cm32dqG/H7GSfZS9o?= =?us-ascii?Q?be0BTQyG7vIWAs4zXHr8RYMXT6N/VC7VZN8/xFuO7DcamAuesM2xXKufbbRG?= =?us-ascii?Q?mE++0Jqp9MUgeLNM2RI9+jYkTOWrneRkwaEbKejrN84kbOIdaK4S3tS+u+6M?= =?us-ascii?Q?ZBxsKOQsYE8Ue1Ubi5Kv779zt9I9JAl++GvwwEkaLUQQHSGycLsHrNiAxko3?= =?us-ascii?Q?ntpXHcVV/tcL0N6b2YpJXggi7BPDYKdZ7Ny4+JPd7yCy+FlsE8xw7LWAAljR?= =?us-ascii?Q?0AV930oGsHd93MbKzNAKvo2yemRQdZfd8VHedmP2wLgOyuCY7EFOKHad7b/L?= =?us-ascii?Q?sYnoddu66zuDmoFo2Rdksxvk96kZWrev0ddZjD3QKm+n7R1C5nlWCJ3WRJzm?= =?us-ascii?Q?1tsiv4fIs6tQIrwow3kKdVzbynNU/UhKMoSDvXclbb4KG/WteYkP+DDv7s87?= =?us-ascii?Q?TvURpwg2ymbq8jNRBffCq5tUMj/9w7srs8eV90eo3U7JYofUB200+sjocEIk?= =?us-ascii?Q?i3GT8JJXmxnngyrtwaStx9EYW35LEEGcM84w?= X-Forefront-PRVS: 034119E4F6 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(979002)(6009001)(6069001)(39450400003)(39400400002)(39410400002)(39830400002)(42186005)(50986999)(189998001)(33646002)(5003940100001)(2351001)(2361001)(106356001)(86362001)(25786009)(50466002)(2906002)(48376002)(74482002)(66066001)(4326008)(47776003)(110136004)(38730400002)(3846002)(305945005)(81166006)(5660300001)(6116002)(50226002)(7736002)(478600001)(6666003)(6916009)(8676002)(6506006)(6486002)(53936002)(36756003)(54906002)(6512007)(217873001)(42262002)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0202MB2552;H:localhost.localdomain;FPR:;SPF:None;MLV:ovrnspm;PTR:InfoNoRecords;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0202MB2552;23:nB9AvuXvk/KGnyhJXNisinS4yQpsooh3lGNxkdL?= =?us-ascii?Q?nomIRgkSscX7ALkqOvL3IbiK6rj4PGb2fmuv1X9LHmmb794cicoTllQdk6Z2?= =?us-ascii?Q?O4m5XJPDGrl5NmHoXBIROcimLAsmqblu7Xsmq5IFqgGX4fdWIuopr1gZi/2Y?= =?us-ascii?Q?djDig62UIAovqKt9ZHJGXV7DRCZDINLgwfK88GIaS3cZzgq9CISQa+wS5xsk?= =?us-ascii?Q?F8NcKhbVy4pBzOmtn97/GS8oozdfKTf6/hph6QOtGei4ztV7zt1ZKUfPsQRq?= =?us-ascii?Q?dZkUW+AIqSIXIglcWoYYMqzwgwx8yR2d67iGcSTkeXgHWcuALBL8mVdzqUdj?= =?us-ascii?Q?iZhDXG4Dm0kN/0LiGNx7ZZrcDiisMII0jnmgD8RFnrwg38i60/Y9aCr2xI5N?= =?us-ascii?Q?2ETfeGCTaLaibeAUhiAiWMAcY4um0Hsf+1AdG1stVXzNM39g/JSKh82Tz5Aj?= =?us-ascii?Q?CHmpwwhTQnEXU4ZcSZ/L1tvPlGnPazbJe9PD0wxhm/ixxFP7HtGvRotPFaU9?= =?us-ascii?Q?AFbrZJse6TqpvqRGKHCPHQGBRZNiQystaTMk9lXThoZ/RWUy5aREbv1AJco6?= =?us-ascii?Q?Ja6LSwc5+r5oaER9JFJDgei7piVYQrz+uQ/GSGhe5Sr2A8bbV2DU6HfeprG5?= =?us-ascii?Q?dc02Ze08VG/Cu58qE8ZOZbDR2wQFZ8GlBRI2U/0We4AnpXOWYkuJIDYHtson?= =?us-ascii?Q?G88jyoxauc+E5V5y96rvT22o17tqEskhteTCCMu/dFM3QmX5A4zlPb7cY/8I?= =?us-ascii?Q?CiL4AV9DHom+WNTeEOePBRRGDiefpQlIcXWuNZ7NWStJ+gggUWz9JqY94rQ+?= =?us-ascii?Q?F1ffHU+EZjwbh2OvCn8sWk+QKcgcqseilKvoCCqVGPZpbXKp51AjHN9UCw1h?= =?us-ascii?Q?XOXC6uoIKXrIJnruG81iUrVzauf6XepypAj6poWRDriWHaPC9CM71d+7Rk20?= =?us-ascii?Q?LRymk03QTkL47VgvZNFTH7iwDyBqwARygkmXHr8Uy5nmR6CDn+tL8JXFSv0y?= =?us-ascii?Q?EdeUs6aAh6CTG0hfC/aKLn56aJwXyVXsuRp8P19bG6IT8C8XSttDBcM7Mm7M?= =?us-ascii?Q?yeq0nXhVyqQRTSIeRZZNa8fHJVORJqh4Z1mWrTqDhWdyNVYm6QAwPpCqawEE?= =?us-ascii?Q?PktgOJoWDHBH9avQUDOYF2+eViPS6IpFrK8KLlBBB9ZRamm9pR0eLufM5SwW?= =?us-ascii?Q?kXu8AbPtl9TaqJjYAiq77WG+LuIlox9Rb5fmP?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB6PR0202MB2552;6:S0tOh+hgMgG97+vLc6rIDt7FnAqPVKLsdRAhdwKV?= =?us-ascii?Q?rawvahUHRrxyL+nX9zVI7il3e7LdLSypBUTN84ACVRk7fA32x5rsW2f+zMV3?= =?us-ascii?Q?LUBHt7WM+oFrE+AZ1U7mP1S80+qVzwtscd70MjMZCviWkSTAPb6KbULijFO5?= =?us-ascii?Q?dt/HKAYWVOfB+ly97NGsWWdc5OzoiHdGW7lDjaR6elQQ3O5Z+6CZKkosHbu0?= =?us-ascii?Q?k6huYFLJ7ywPfprQJQkdhuYxEPXih4yRwmb2SS1u8RzLo6nX+OVdfXiVwACj?= =?us-ascii?Q?fCDK9Bwa4XdfsUj6l2ANXkHLVFa37BE6Pn+b4l7YccW3ERpdnr1oth/fsbaH?= =?us-ascii?Q?B1oJouTluPgDXa3bf10leK5mWZeU82GuuXPHgs7xxntrHtVt11ZcoLGl5HM/?= =?us-ascii?Q?iXETZAFZQ4d1JTNXq19mwr2nBtVCSvfZ8UgiU41szYoeNCx0ThPAvoYqLcT4?= =?us-ascii?Q?SJvYSAnBLIvryxy/1oEltypPsiR03NaNnETneqZOUWQPicg883JKP3ooDS5X?= =?us-ascii?Q?5myA5BMjzt+jWPC3jjqurlDNmugZ6uT+8NUHughZTrTZBrctRnDYU83hekvT?= =?us-ascii?Q?PI56sIr2FxzaQLkWvfs/oItiCp+/Yxu53aQofLa6uuW+Kr8MBRDHmFFXV16S?= =?us-ascii?Q?I7hVm0OlDlzy9hzuUTJtE+ivvMFKjQmq3Im3OUmE8VN5s5XA0iC3e3DQgw72?= =?us-ascii?Q?ysLq2huQhVGc6all05EvZoyZ8d+zbeUp4J4b5tLT7FcB1VxWXg3F8pZPAeC8?= =?us-ascii?Q?FsbnsfTPM2RqzNA5+haHCb4W3Md2+bc+AKAFPYbrNCWnhoRrsGDa3eLF/zvZ?= =?us-ascii?Q?v1romqd2Eb+UrXXa1nrAd4nd3jF2VN+F2Os9wOTw9xnqpb6My6hrpQwBteij?= =?us-ascii?Q?VmVB4IViVjQmMqNHuTGqnDaoZ3GFVREresnx6V66qt10T+s/X53/Dfhw6LCS?= =?us-ascii?Q?Bsi8nrJ4wQ52lZEzblaYUmdplks+IiYBChYJclVZXj96ZqhaB5ZhZiN+nNo4?= =?us-ascii?Q?Ppw=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0202MB2552;5:L9OpMm68uSm5aRc+ZwQAFMZquaYoGEjX44/8dzv5WWxE4y+iVqsAzzh04dKWK726UR0TbGZR2JOPO7zMog7ocizEUkiBeWI5AMP3PUPODnujHp07n5D07ZVaMBWHfF+V+S8ccCOB3bX+y+nvfjPlEfOKKg+duPZyXdkM3igC+KGRbf5P/gt7bygZFeyQi5mGgq8bC0mf0ZxIFr55hZGXZbSua5xdegTbEpwxTRIdT9pcv9yPEY6Qpy4lAFoac0b5Gr5skplW5jjcczzutvYlEE1YzY2M52oPfFuF1OSRwaQHIa+0ESzJZkEVHmzG3QfaGTx+ca0ZkJh98MsqYSfXeeuLX4wdtG/ZpHGgFDsP2ogWQ9CGUrobhWsNFrW143O3g6TbFcViwpJq7/k91/r1hCnYfSEaCJF1Ow16Y9qIfdnoPnzHIQjBdHKNoCufvAfrKVU1Yyc47JKnVvTWGNlmoFg8ctToTCw/2rPhWlv26vDEnJmy+OyoixeJNIAXe/uH;24:lS7A0h2pJgJn+sEBtR0sBK0FT3EKs3hlGnkmNb63+PDt32pENIKhWIpTukqldRUDKz5lSu67lKjooxNgPmX2qTy8fUJjcSzsb8OkMpnMick= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0202MB2552;7:tcTV/htIZ9VXbf+DHH01EF/PEbQrS/zAVh5TOuPwgF7mseKWRPd8tvt9wbLk2hQQP6CaZKaVURL2Ynlt7X/RnFVcBQZvzIjpQEznP19Wv92XZVcgQ6cjkZ0hi0u0/IrIH6EehYfQazxnQpy5esVV3bQ4viXKrPPWtDA/DZtLV42f71b3V3UNc9vsYI4rnEZW8R4HRK5bXLU5V84kiA47tWfbZECzbe+B8eJuCKtlYL2yGixh49mD0iAABL3tmUrpeG659Lx2tt588fzi1VixVG6J4hKYze7q0xkFMqA+DLLTUDB4Pi2eBy5tGta3uuiZNNvZ4I8iaI4sVayllorkMnlOXlTAtd5r/RLdR4pJheNW6iP0/7CLj+aGFjbqckSpxN3U91bzp2e0fbax9cUC9OvVHZCc0IcCTZwFNVM2CSR7/IDVR0yR2xwxtk10/Uy4Et/EvEvgh3r6mu2uY2S3mXHQOwn/rgfsdfqPUCB4qw+9Nf5WNtuG7eTxVszKNKf42CQyO7RT/R6P2z5HTiXz38BJzoY1q2zANbpjRav5Z4d3+6EvaYMKbnD3mv+lU8PXzkChc30y5mHO8WNSKEMIDO/RyAANUar6+sgiVTsJCNBKJ+WH8w+7nSvAuLnrWRq6pZHEUpBZx2z88C0W2IzJXEBFhsBkoxj8nNdmVacckZc/Gip8qCxtrJCI/Xgr5AE2iHWEQ5rMpy71kVlxHbZ5jOj8sga0RmB8Le/gy+ttEoPZjsB3E9Djsikwt9LPcSBg4QqB3SU85EZzCelu1q0Uj0k6H+wzUXwMKfFqfgSq0p0= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2017 17:47:27.7101 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0202MB2552 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2276 Lines: 55 Hi! This series adds support for an 8-bit clut mode in the atmel-hlcdc driver. I have only tested it with the fbdev interface, and am therefore not really sure if it works w/o patch 2 and 3. One significant reason for that is that the modetest test program in libdrm does not support clut modes like C8. Also, when using it with the fbdev emulation layer, something seems to allocate the first 16 clut entries, which throws my users of ioctl(fb, FBIOPUTCMAP, ...) when index 0 in the given clut is really pixel value 16. If anyone can shed some light on that, I'd be most greatful! Changes since v1: - Move the clut update from atmel_hlcdc_crtc_mode_valid to atmel_hlcdc_plane_atomic_update. - Add default .gamma_set helper (drm_atomic_helper_legacy_gamma_set). - Don't keep a spare copy of the clut, reuse gamma_store instead. - Don't try to synchronize the legacy fb clut with the drm clut. I'm obvously new to this part of the kernel, but I'm beginning to think that perhaps the .gamma_set and .gamma_get implementations that I add in patch 3/3 are generic enough to just be default helper implementations? Then, all the spilt guts in patch 2/3 could be kept internal. But, I don't know if those are generic enough implementations to be suitable as defaults... Oh right, I forgot to mention this in v1, but I have not added any .clut_offset to the overlay2 layer of sama5d4, since the chip does not appear to have that layer. I didn't do that to make it easier to work with the two patches, but I suspect bad things may happen to sama5d4 users if they do not have that layer removed. Cheers, peda Peter Rosin (3): drm: atmel-hlcdc: add support for 8-bit color lookup table mode drm/fb-cma-helper: expose more of fb cma guts drm: atmel-hlcdc: add clut support for legacy fbdev drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c | 58 +++++++++++++++++++++++++ drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 25 ++++++++++- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h | 20 +++++++++ drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 29 +++++++++++++ drivers/gpu/drm/drm_fb_cma_helper.c | 55 ++++++++++++++++++----- include/drm/drm_fb_cma_helper.h | 8 +++- 6 files changed, 182 insertions(+), 13 deletions(-) -- 2.1.4