Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756926AbdGLHrh (ORCPT ); Wed, 12 Jul 2017 03:47:37 -0400 Received: from mail-he1eur01on0131.outbound.protection.outlook.com ([104.47.0.131]:6272 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756657AbdGLHrf (ORCPT ); Wed, 12 Jul 2017 03:47:35 -0400 Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=axentia.se; Subject: Re: [PATCH v4 03/14] drm/fb-helper: separate the fb_setcmap helper into atomic and legacy paths To: linux-kernel@vger.kernel.org, Boris Brezillon , dri-devel@lists.freedesktop.org, Daniel Vetter References: <1499343648-29695-1-git-send-email-peda@axentia.se> <1499343648-29695-4-git-send-email-peda@axentia.se> <20170711081013.leqxhbp455pydqcr@phenom.ffwll.local> <4ecd88e4-371e-e969-9641-0c8c1b0ff81e@axentia.se> <20170712070352.gyjgnlpngocshuiw@phenom.ffwll.local> From: Peter Rosin Organization: Axentia Technologies AB Message-ID: <45e64660-b903-6f2b-42f9-55a42e478810@axentia.se> Date: Wed, 12 Jul 2017 09:47:27 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <20170712070352.gyjgnlpngocshuiw@phenom.ffwll.local> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [81.224.168.30] X-ClientProxiedBy: VI1PR09CA0070.eurprd09.prod.outlook.com (2603:10a6:802:29::14) To AM5PR0202MB2545.eurprd02.prod.outlook.com (2603:10a6:203:6c::23) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 87c8f19c-7511-4219-c7e3-08d4c8fa40f0 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:AM5PR0202MB2545; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2545;3:Vqe+nYL+kyslopIHFU/gGSJf67WKYwQuQ04fVtYlKlCwUNZTEGuHq2s+k+uxqaRY4loPCy32A5SVN5EFKL87goMsk3q+63r8bqkT3iPgkWoraU+XcFqLzud9REU0WPERwUPXVeLC7Xhv+jEL+AHpqs2xaHexk3k61KvDiUPZicfm9O21Air1hML/lrcQbbKwmE6bN09fiRM6ABc7G1/TXbuSEW2fowTUdW7d3XGXxHK32e2tOsXBZXEjuN4cFIT5lW9JdB+02VwNaKo+Ax9jSTXi447z0tW5n6XZkzFQr1DansCpoJPoOdmED0euccdc3H2bkWGZhKU9BPp9TmkYtl44/2QZGtNKmKOiGvv/EY0GwigsYGY5dqQC3Zm9SWBkzF/nL4vbf4ZGt08qImxReGOlIH9bLCzKcKQwkGMxtIHoEGUQFw10CQfjyke0zKabr5uwTRvpkUbr6CcDn+2q7Ss5ptPoNMF3vdfdniupvemK5WvuSzm4yE+2Zo23VsHzT0+tiILXCPWynCxoCWsJj9pJTZmU/DmhbsKnHMDskSHmokrWbxeqXxHZ0BX7/h5m5bnLWoHFlKh3Yw023LwX/+A+yq9miZWqJ3MjaEH4fjUjsOFbSBcgzBb12mXrrgTpc0pGxDdeqx5Rrj0je5p9n89J9saetmwUQHjE2V4auE5YqRU29o4lNjeVsvcwRfFt0bwH82UaEeLUnAN9GltIcA== X-MS-TrafficTypeDiagnostic: AM5PR0202MB2545: X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2545;25:2DTT4ebBbIOV+bOaPVPG5iTccQ9jYI9GSdT+F68GF9Gar8lDhELORR0hq92Si8ClGx7BpUp1UL7KhZOKFTi0m0OkljA9Ry3N4MtwS3AKXyFZTTjV0ipZophxyubAGJ05brCVbH9tx2EthAHlrcmfrU7wCpfIz3gdngkkerP9defLZ1/sWIDLmNAUsOfthmJN1SyPS+Ex85TeZmrCdv+G3AuTpo5ctRM2+iC3Q1MwzMRoMJ0yP4E9gF0SWaCeUJ5UqTDw0KUdNQnjHJitIX0IBdYwymrqanbJTVDdUTdRherOPncW/vtWGKD1hJhUU3OcAeUFymo7ycLFTmCH3Y6giILlVGnfN/3xKc77PRoiQZ3oheGwEKStkZgzPtlmDQFuJeGEubn1d9/4NKPGT6IMt11x9NMHI2d1VdlSsuhIsJhqk/nQ+ijxPtkoj2XtU3aPM3v9Aa+BsftRtLbHfNWiEhqtqyukGSYTt2KeAkJOhGvgRLip+S4vW9bPoxCVSlxggqtA81DiO2vsaEuCBd7FLBzwHREIcYKsKa1yLYdm2ZBIOVLbt982h0hW56FeUan759PJOd0tk23d37tKbJT/5l2c/AtMOejSaVrWsh2F1Pkl+KNMozKI3mPRKGm9VR0njHDL11vavwIWHR4UntqQCcmYThqvnfPtzS0c7J7/AiINfHbk5U61B6VL8B5Xgclf6JQiGU3SCM6r2HgY9DoltemXpRZ2CEcd5mYgcXxTro5rOFvf2pJMufrNr48r+CdtcXQhJWF7xYuQVBCMWPsyTJdMVK1/EjZ8PzwbS3LIeF3zyuFPYpRaf/w8KLCQm7hoizCOJNl0MWT/0NvYo9F0TxlSTObGhXLqEMEoDwZHk8REoDIBkuYO455R1oS9BVcXvfpvQserjOhlLTmHLj3hc66Zh7rkVRgetEXFKPK5mtQ= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2545;31:tMCBC9B3ovNozRNITTp3DwY/mrxjLosS9dFWVsVEhI0rDjqoYdAh4Oc1EzMcx3AS7Ykk49l9F+UcuHb/yNqLdgVAiI6k8yMwE4oj2KJFqJ7FvoCVW5HhdjTOMEvJ2Fy4AWfGcfIn/HUHADMxtStldMKvKXIfH/aXtVbyfv1xZfU1FXCgslnz+D9RkTRDgnV39AZu2D5a9KOTqWO9ot7zGV7FaBBAkv1C1fBLH8+hKF8dw+SAYcSKCMeesYtjWnjThiF3+mLgMFqoazLXmoiaXhSHCMfKkc3nCa1ZZWBMWnplL0wIwC2Y1i0LvLTgxCptTbEkPDQuGBJRd5OE1Ulp2oUzFJ7pyKg97/97MNtsaG1XZ3NwwEicG3Q9Q8f+mJXWsbJYdjWSUMu1CRA4w/IJOX8vFBloRLuZSoi1fctC7pPOjUVqCh4XE4zRdFeKhpDfxpAanPgljHe2z2JmsbJ0Ltrl3lK35DtpOXv6fqV9UVH5WkfTmO/e9D/j+QWM/RzApxvKyMT8Tep2LfLaRIqR9lUCeadmczPrUnSZK6hLVhE25uRJfQh3nMXK0JmHUP+GKjqdYZXI0px/QKbvAEwVdpr1W6ynbo765mvR+YaapZqBGX5ZCWDnpcnOiFvUSUl94sgDRLQKVRzd+LiKSr2y+/XkDAMgs4/3EkE8XtQvi2EVAMSMqn2WheUX3JLQYqacQs+olPBgmq2ObaDPphwh9Q== X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(148574349560750)(247924648384137); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910075)(5005006)(8121501046)(3002001)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(6041248)(2016111802025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(20161123558100)(20161123560025)(20161123562025)(6072148)(6043046)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AM5PR0202MB2545;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AM5PR0202MB2545; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTVQUjAyMDJNQjI1NDU7NDpGVzlGUjF5ZUozT0o1UFBVa1VKNVhSMW1z?= =?utf-8?B?TzBjRDN4L1dTcktZYTkwd3M1am5QNDhWWkphMDd4Zm9QTU1PU2NrMHJZV05C?= =?utf-8?B?TWpEb1JvZVhZUnkyZjdlSnNyZE9VdDIvZlpXUWpxZGxVc0xuUUpEbytZbU9T?= =?utf-8?B?bG5oQ3lWa0hldlFWM2p2ckQybk9sN1ZTNlhLbjRQTnJYTHpEQmZJTmFYR1NY?= =?utf-8?B?MTJiSFR6RFUrT0dSaVpMQnlZYW5iTjFnZFhqdEpETjRvbGxYZHAxNzZPY1NR?= =?utf-8?B?Nk1UbUlVWFlhU3JGZFNXdHdGWjJNUzVHcHFlT2s3cEhoYW9NYjJUTG1GZk9l?= =?utf-8?B?MEpJZXU5TGZwVkY4S2N2TlNTQkxOYkFFZjZXaDZlbjVoeFhOUUdGc2Flbmxo?= =?utf-8?B?NTk0RTZiR3l5TmJsU01xZTY3emE4NW9PaFN5dGs4dVNhaElLYjlORUt6RllN?= =?utf-8?B?UjRXRTVvRis0d2l1U0VoaUkxcE1qTXRPWnBHVTdHYWwzSXNpUmVjOURpdVg3?= =?utf-8?B?NFpBbmdsZGxNeFFKT2ZaUS9yTG1iRTdRRzlueFR5Z0ZGUVpvT2NNR29CL0dO?= =?utf-8?B?R1FnRkpZRys0SEpSWFdaR1UrVTg5VkhZbXA1TDhGTHNDcWtGV2x2ODdaWlZo?= =?utf-8?B?SHJpY214QnBybHFyTUJOa3h1Qm9pNjFycFpuVkplQU1RV1I5R2dSVzlTME8w?= =?utf-8?B?ak1nSSttQis4emNqeHJHekFIRFo2K0tmaCtmd3RUWmwrVWZUS1hNVjRhbDBT?= =?utf-8?B?VnJTOTRYN0lhRGQ5cld3SG9yTTVpMWpIOGt0eHVMcUlnVFNMSTJYOWdobkpR?= =?utf-8?B?M0prS1hkMWJZdEwyQkNmNDZ1OGZFTjZaUkxpSHpIUUNyRWY4Um01WVgxNFV5?= =?utf-8?B?bUx3MFd2RllCdmtZc0J3aW81SnZmdlZRcXVLYk9BVDJIT1ZVS0lPajlha080?= =?utf-8?B?VzhUSS83Qy93NXMvTU1wdExOTzV4UldGMlhGZnlBR28yZkJ2MGJ5VC84dGZE?= =?utf-8?B?RDJkWjFwcEd4WlZHYWhLOHRINUFwOHlJT2NBOW1rZXpEc0d0NHpwc2xKTWVH?= =?utf-8?B?Qk93VjZGRmRrUFIrdFJWd0ExSnhOSWNEanVXK3B3OStBS0VzOGptMWZYS3Jy?= =?utf-8?B?OFJwVjhxRUdvejJBVDlBUzM3K3dsK0s3ZjZYZG8rOWJYdWNlLzkwYVEvM3RO?= =?utf-8?B?alkrd0NwVkpxUWc4MlcvQ2YzYjY4UmFTMno2eDh3VlFmRlpWL3hVQnpRZjYw?= =?utf-8?B?cUVFRytTTDdjSzl4SWQyKzJ3WTUySmZ0YUFEVEl6N0E2a3dLYVM1K0psWVJE?= =?utf-8?B?VXhzTlNlTUIxdGVzM3Rtanh3Z1NKV083bUdyN1R6OEpDNEpTRHh2UFJiQVpZ?= =?utf-8?B?OFc0bUV0bmtpKzB1OUU1VkFUZFQvbGNiUXlNQU9VV0RsRVBHOUtaa3k5YUJU?= =?utf-8?B?a1ZtTHZySi9LbEdHZEdnNlpndjBmMGszR2JjWnIzYmRCMWcvcXBQTDR4WWFu?= =?utf-8?B?dWFZY1pjd3VSaEJqQnJhWGt2d0hRMHV0R0N0Y0Q2ZTVrd25CNE9CZERjODVm?= =?utf-8?B?Qnp2T1pwZ0RtQVltd3pOWDdoaEFhNEFLckdvYW1LbTNET291bTcvM3oveW12?= =?utf-8?B?a3l4Y0tia1EzejFhRm40TTJ1dlpIY250SUpLSVVGQkE4MWJ3NnRkcXRJN0o1?= =?utf-8?B?RkhidytDMC9hdUlnMkt4d0V0aGdwWG9DKyt0QXdIbE9sd2xSaGZhc3Q3U0pi?= =?utf-8?B?c2U5TUtDT29sRzVXODlqV2RxQlJHeWxhTUc0RkVWV1BlTzJ0SkJZc3NaRjVz?= =?utf-8?Q?MmmtGFBIMGBqRu?= X-Forefront-PRVS: 036614DD9C X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(7370300001)(6049001)(6009001)(39450400003)(39400400002)(39830400002)(39410400002)(377424004)(24454002)(65956001)(23676002)(83506001)(53936002)(77096006)(6486002)(86362001)(33646002)(36756003)(6666003)(2906002)(2950100002)(65806001)(65826007)(50466002)(53546010)(31696002)(6246003)(7350300001)(47776003)(66066001)(54356999)(478600001)(38730400002)(189998001)(4001350100001)(76176999)(117156002)(25786009)(305945005)(31686004)(3846002)(74482002)(5660300001)(7736002)(81166006)(230700001)(3260700006)(50986999)(42186005)(6116002)(229853002)(8676002)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0202MB2545;H:[192.168.13.3];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTVQUjAyMDJNQjI1NDU7MjM6UU8vek9RTnBoa3F2R21YZGphNWM2bC9v?= =?utf-8?B?NEQ3djgvMjU0TEVoTklSR2ZrQnJ0NStPZGdhd09sRmo0N0lsZmhjcEx5ZEEv?= =?utf-8?B?ak1HODRKMUw3ajAwc3M5bWY0d2s0UFdzVTk3WGpYcTY1amRBWmp5TG5SYWMw?= =?utf-8?B?RmtSeVI1SmFlVHZRRVhXMmYzTmpVVEtBWG1ncjF0K1RqNDg5NjBQcVBEckNi?= =?utf-8?B?V250cm5LbmpXWnV4TzRzYjkyN2IrUjhoZ1h1a2dlVFZ0L0o5WitqWFpXb1Jt?= =?utf-8?B?dGlsczM5czVPTGNtMG9OVFFkb1JsQjQ1Vmpwbi9HSmE5TncxNlN2dFpmMzY1?= =?utf-8?B?YlFYcVhVVzBCbi9iQVFENFF3MWJ5UUlnZVdhU3M4R3RzMGE3Y3h5ejNEYzRR?= =?utf-8?B?cU1kVUlSTnQ3MXZHTVZwYTloZzJYemNxbVhkeTYwQXIzczBvRUg0N3dGaWpo?= =?utf-8?B?STZGY0UwUTFJdWY5TWhRR0c0NzdRWXJDTllMb1RQRWdacEQ0Z0NWellmTFVa?= =?utf-8?B?bXVENWIrZk8wUXFVeFZsS3BmZEdNNldUaUVMUE5iRFY3RTR0NlE5NmxpdENF?= =?utf-8?B?N0lEOXArczU0ZEZDQzNUL0pGOWx0WVV6alMwQkV2bWZScWpnNU9YOTJLK3c3?= =?utf-8?B?UlpTTDZNdVYvN0MwSmkva2srSlZENTRiTVZvK1Zxb0cwT200amFySDdPWXN1?= =?utf-8?B?ZElSQ256S3cxNDNEZUMzbFVBYldIYXdEOXBXbDh3VTNoVHJCazl1MFJWZzdp?= =?utf-8?B?RWJWb1JFL3FqS1ViZkl4Mjg2VUtmTW5FNndrZ3FrVlZPR1dNeWpoczUwNDlZ?= =?utf-8?B?U3JyRm9uNUJsT3I4Z3J5ZVBRRHFsOTRISGRZbk9GMjhOUTNnaCtxZkhrczFD?= =?utf-8?B?ZFRoOVIxT2hQdGxldmVneGIzZFNINVBDQ2dvVHJqM216V09YL0lFQThsNXBM?= =?utf-8?B?NEEwK3ZhSXZ0SlVGbXk2MFcwTU5PNWpiZTl4MkpnbTNXcjUrdVlweG1XUXBU?= =?utf-8?B?S3J0ZFdTM2ZEK1h6dS9oTXFWU0Jkbzg3R1E5UkdIaXlESUlwby9hQ3RaaU84?= =?utf-8?B?clBQMENENk9NSTRCREo3NnRBdFBwTS9vZ1lHWVhyemNOd2M1UHlESHdsZW9M?= =?utf-8?B?ZUYrYW13ZGVJZ0h5MmJWSy80VnVySGY1R0duQnlSa0E0U2I4T3lwcXN5RUVV?= =?utf-8?B?bGdFV3lsVk1ENWQ0SiszcFRMdnRmalI0QWUwY2pTcW04WEFVVk10TitwN0hw?= =?utf-8?B?Uks1Sm03aVZ6SXdVVzZkOGR2d0dCU3NwUHJLUy9JR2dHSW14VHNYeHBEUVA4?= =?utf-8?B?SThiaVhSTUZ5Vk5yTVJ0NGhFb1N5VExGWlVMN3NESk5OdDlsTGlJZDZ3c01O?= =?utf-8?B?TVFPRWJ0cHhtMVVERE92SU9VeHpjKzk3U0Evb2d4d1dLSWlDTzZjc2N5TWwz?= =?utf-8?B?b05ZRmJzdkxrellEaXBjSW9QZWxJL0xtWGFYMFZFS21MUnY1T1QxeUpCdDFB?= =?utf-8?B?RjZGNEFwSi9KMTRwQUdZdUFZSGRWZ2hQYjhNOFd2OUlIUlN3QzQ1RlRKaGZ4?= =?utf-8?B?R3FZc1VLUlZwWld4ZWtnQU1kUG9RRjJSLzFvczduMzcxelhEU1BxQ1dBdllG?= =?utf-8?B?dkcrRG5kblBiVkVEZy9pc1BSenFWdFJTclMxQXhzNGRhZFFYaFRqVzVkdjdH?= =?utf-8?B?RWozSWFWblNFZ2RYOTRpQVpSZWpUQWJRa00yL3ZMSFBnKzNaQU4ycWxkdUF6?= =?utf-8?B?RGlXdHltNlFBcjN0RytiK1piZ3BVRzd5QlEzQ2ZyYjhXK3k1UThyOVA3cS9h?= =?utf-8?Q?5VA7s2cPDe9+eYb?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTVQUjAyMDJNQjI1NDU7Njp2a3RGRjRSTmN2RnNvcUhyVlRQeTdJYkdx?= =?utf-8?B?ZExCTXAwbEh1SnBkZ1lLYm5LLzFJM1BQUm9RT0NKYk5scnRBNWZPam44YUlX?= =?utf-8?B?ZU5UekwvdUJBaFJWOFp3NWZlWW1kVm45NUlacjFXRGwwdmlDakNxUkdJVG0x?= =?utf-8?B?c0lZVzROY1JaaUphWmQvaEM0c05MZnpYdktHL0ZzTHlsUS94UnV0czRCWVhB?= =?utf-8?B?VnBRekcwMDZBUGxHWmI4THE4Uk5MUnFzV1FvT0lvN2k4NmJmdWVmWXlmbFZN?= =?utf-8?B?Q0YwY2RSM1REM2JYVy9NTFY3R0p1VldvYlppdE5NTW94Z3hRdnhkNWlPSncw?= =?utf-8?B?a0puME9iMnN0YitrSmZaUXZib25OcVZ5U01JK2lTeG00VndqUzl6dHoybjJY?= =?utf-8?B?L1ZyQ3liaE16blAzZE8zYXhvTVlrbUFtZFg3RmkzZU9kZUR5YWpmMmVCMjQ2?= =?utf-8?B?V0RLZ28yNlJkb1RBNFNxYkkvTFRob0lsVVlaMjRUMVNYclYzc3pkRU8vN1ZF?= =?utf-8?B?akhFQzJiYm5LRkM0dWRBY2NqcUV2MlRjUzBUa1hucEgyRVBWeGdsRWdJejFV?= =?utf-8?B?em83UnlCYTE0ckxYQzF5T2h1UHVIQjNKdVIxbm1aZXVHR1RHN2lPNmFGYjha?= =?utf-8?B?UkVVdHNKTTNhbXdBQ3VUZW0xTG1ndWxtUlVkbG1qcjhuM3lUNUVyZXVnN1Fz?= =?utf-8?B?cDZHdVB2VGxWNDZ5c3lLcHhoUmtLRldGVkpXajZHOW1PSjl6TGorNS96Mkdx?= =?utf-8?B?QThEbDV5ZHhSL3hYMENHcEw1T2wvNStUcTRxd2dBNW1DK3oxSVk0UlduYUto?= =?utf-8?B?aXU1VjBjZ01GNXY4MmdIclZlYjdOd01XNTF2Tk8wa1kzMDNEb29iblBOQ0lz?= =?utf-8?B?ZWlzbkRzNmEybm9rVDRtNzBKandNVFB6WWgyTXpUOTcxYlNvbXJrQUg0TTFY?= =?utf-8?B?bUMxWTdUZWRBTzNLbFM0eGg1WmpvSWF6aWN5YmZyUTIvSXdydUdSRjBoclhV?= =?utf-8?B?RlJDUTcyak02Mkxla1V4QUJIUm9rekh2dWowNHIzR3ZUMnd4RHd3VTVCNkJP?= =?utf-8?B?aDZhcndndU5qeGdlSEVCdzkxSW1kZUhoNXRDanNQSVE0cEdrZmFNeTdsL05u?= =?utf-8?B?SmlMRXJ5ek9RRFNpLzByUC9PNGJmRE9CNzBXT2Nza2JudEVoVWZ0NFJ2dXVS?= =?utf-8?B?cFVmdTgzZVRrU2owS1lPSjFLU29teWo5WkdMbDd3b29IM0RZVzZrQU4zZUxq?= =?utf-8?B?b1lxMUVsK1Z6UXNtalZpMTBJN2V0L2tvZFg0R0c4M3BqSG9kbEQzZXNRTVd4?= =?utf-8?Q?nHv8RstkkMASbEx7WDIuMrIHvWiGLmi1k=3D?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2545;5:1bylBfRvXFZ5Eg/3Fmoxl6n27lj1j6WIUapioelyHKOYsLfCH0frhPeQ5JHCehPVM3UIgKhCLknmdry7MT9WBLPurDdtt7CLrMEzQbkYbsC1a35UGkvH1T1alcZtVLpHgs6e0XawpCR9oVXe3nNADbXgqqrjQq32Lzz+XFThloU8QNxcpkLWUTmoW+QArEC/+uhqBD3FDMcty/JLjypkYlneXQcwFtFof0ResjXlGKL3pvyfNzyUuff1HLlcH28TUYQw+vy1JIcsj9AeUx052udnuZXQRVAVOZ3/j86c+Nn65yRHk/9cx0kkh4i75b/43rB//zvjOWGh4R7NXrd7uA8+9HtZlF7ulBri2MC+nlEIitRDFr7BP619kEaaigbZx4b8Ia0xZGNgZRyw5f5sRl+CgD1ZPnT9MpCXDUNQAZxm2V89fmywZA7rQBflIr1lvIy6JGN8NSCSnecxhaIg4s28PClMCR7wFW4An/0sGcBPPSWB1zhhHq4b3ECZDvfl;24:TWIvU+loWOV4XyCeAc0ZNouIulM2g26g1u8N6dT5W9+6+EHZNcZSROmTWmI57Z9Uf/xsyUVrZYpUeE4TlqekGhBTTKfc4GX+c6Y/x8RLci8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2545;7:HYtNr4yl+24aoaiUSbofOSWp9oBcdBgki0kOaTcXYkIMfE+SbZ1evHQEXOAWpKs7JddNNleNWd3XCIZ160NZmnXAbs/16D606WQt4aYIm6N8+46j3OqMJ/w/v5VOqWBrJnGR1H0C7TpXBDlafx7iLaba9gcx0OwmHXwWfe2n0dgzJHyoP8hFM2UftLudi2gRuTLUT1IuxaTkwNdost2YZiLLenRNsSXRxZCa3sbvJ9glLWCoy/dCUteWi//zDEAqsd/VKzsVf/w4gbZb6G0JBAYmUj/QNaYp96CCu02/NQz7trnufu6Ns8lTqqXKjIGHstnon8ci8gaJ/GyfU4xCPyghhaS/DEAbP7FWHEZPte6GPzLQJfwnAoz5d4RUOdevI6qAdqe3za9J5sHpVXSl6ro3sCKlISdodG10Oyl06TnE/AYo5GkC2FtdcnW4QGcbl/76Z4rNPoM1c9GOjgxuUj0ffrGFDW5p7SqX/cEvsGkgQw/XxiY8Kk7USzVomKjibE7o2jxDfBLwMLEX8fK8VoYu0FwkNAtxYisV1z5UvhBFf75Rpr+p9CLyG4UFmD9KbuphWwFv05+7USYAuM/mvaXfwL2h5aNMNKi7wJNaLbCVHOkAN0z81apxswb2p2CqQR/o82bTuKF663vns4BsSOC2kPreEy1hYx2z0g2ZSb81xD/ufbszy+gKCNapILcG/CzNzo5tkaiQyHLBHOoxh6+YZ2ed+3rqLeODT3JBByZx4kUdbVWIq8ggQY0gufDSdfies3ZH4d06YExsBnDzGIpDJT3UjG2vNWdKkQfCeCA= X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2017 07:47:31.6598 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0202MB2545 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2542 Lines: 54 On 2017-07-12 09:03, Daniel Vetter wrote: > On Tue, Jul 11, 2017 at 02:12:26PM +0200, Peter Rosin wrote: >> On 2017-07-11 10:10, Daniel Vetter wrote: >>> Tiny nit you might want to improve (since you need to respin for my naming >>> bikeshed of the property_replace_blob function anyway): Properties are >>> refcounting and invariant, which means you can just create the property >>> once, and then use it for all the CRTC. Slightly cleaner code. >> >> Yes, I thought about that, but ended up not. The reason is that as far >> as I could tell, all involved crtc need not have the same original >> gamma_lut. Sure, if all crtc have the same history, that should be the >> case, but isn't it possible to tie things together one way first and >> set some clut, then "rewire" things so that the crtc no longer have the >> same history? >> >> But if you in the light of that still think it's wise to set the same >> clut for all crtc I will factor that part out of the loop. > > Blob properties are invariant, if you want to change a lut you _have_ to > create a new blob property. They're also reference-counted, which means > users of a blob property can come&go as they wish, it will only get freed > when the last one is released. > > So even when you change the lut of 1 CRTC the other CRTCs will be able to > keep using the existing lut blob property unchanged. That's the beauty of > having refcounted objects with invariant data over their lifetime, makes a > lot of things a lot simpler. drm_framebuffer work the same (only their > metadata is invariant, the data of the actual backing storage can change > ofc, but not where that backing storage is). Allows you to do simple > pointer comparison of objects to check whether their equal or something > has changed. > > tldr; sharing blobs is perfectly safe and how this is designed to work. Yes, I get that, but that wasn't my problem. At all. Say that you have a driver with two crtc, A and B. Then this happens: 1. A gets a clut with, say, only various red colors. 2. B gets a different clut with various green colors. 3. Someone ties things up so that one fbdev is used on both A and B. I don't know if this is possible, but if it is, the two crtc now have different cluts. 4. Via fbdev, only part of the clut is updated for this A/B combo. If A and B starts sharing clut in 4, the part that is not updated is clobbered for either crtc A or B. (updating only part of the clut is only possible with fbdev, AFAICT) Yes, it's a fringe thing to cater to... Cheers, Peter