Received: by 10.223.176.46 with SMTP id f43csp4395360wra; Tue, 23 Jan 2018 08:50:27 -0800 (PST) X-Google-Smtp-Source: AH8x226H6NLlHFlVepiZM7s3ppdEaQN4TPJSpWnzm9doadQMyEMO0K8UglHce206Wb09cBX8bF9u X-Received: by 10.107.11.105 with SMTP id v102mr4418724ioi.272.1516726227235; Tue, 23 Jan 2018 08:50:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516726227; cv=none; d=google.com; s=arc-20160816; b=hTRfa7tRP+KxO63KG8wEnL8SEM8HkSopKUjgccBCaikbR9yeZx7T5+GZWWOJe7cNCc mR4EW0vI5LJVvRkKc+o3H3uWxa7E4zeYhWgrcUJJzx+9Q9daX4aAdHx22teNmNpF5Bky 1kdo2J8piEcAlc7DHgOYq+MnyVefaXXcDMzcry5CWvGxtGH9WbLqyakrGtEMAvBqH59/ 6lZlafFRCykJ9PzvZ484LDvA2aFXttDKqwvEsMLR9cpacms7YSjKarBSg05PEdLxRU2M PSxR6e/7wVevBO9i6CxhwTA81TbFDRICl41UjDAF9PhKHxQ56HwFcT7KC6gvCmSNhLFa jxNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:spamdiagnosticmetadata :spamdiagnosticoutput:nodisclaimer:mime-version:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=4JL3zycJzBicCzj9zLu0m1d91iN8k3XDgPRpErmhzAI=; b=oE5/wMQrlkJQqNYdxq+u2Jwvrt10PlZYsGWR51onRgycXlNfwWyyNcAdxnoiPpqhNR n7x3Py663x8EjT7Ha/sSWv7GZFQDsmaEsRQcj4qHFW896xgl4Z8ZoofrhBRVqE48ixZT QnDdmg1gnOfmGwkBr3/G3+Ssr0kcWh4DtHAvbIZPIiU8YRJ3HmABzYllddwDfynZKEVy HuMJ5jroKLSWO/ZLAoBrWPKtOR0WCyOzpa8g73s5VpujAhOr+4S6pxqEGmh2ayEYdaUR XTNlzXEKXkpQb5WpSNin0Q+ARLFdi2WK7oj0SGg+K3vEsI1ZXfCxscPswq7bR2A6bQM3 Xz+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector1-arm-com header.b=BcTVipLn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v125si8614626ith.27.2018.01.23.08.50.13; Tue, 23 Jan 2018 08:50:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector1-arm-com header.b=BcTVipLn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751474AbeAWQto (ORCPT + 99 others); Tue, 23 Jan 2018 11:49:44 -0500 Received: from mail-ve1eur01on0073.outbound.protection.outlook.com ([104.47.1.73]:60612 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751256AbeAWQtm (ORCPT ); Tue, 23 Jan 2018 11:49:42 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=4JL3zycJzBicCzj9zLu0m1d91iN8k3XDgPRpErmhzAI=; b=BcTVipLnpBzSXtyOxETpxCHL78NOd+wToFEW+gdaGstMjPDml/AhHeABGI9wHgrLiLKdjSrnBZYS72BVu3OjN4IDzbKTq550kHeq4u0CzqrOn+pPXiMfKmH/meCzlOd/K3giOUzRlQhVzdBSVfAr8R3/3mUH6iQEucWW9hEmEcM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Ayan.Halder@arm.com; Received: from e113505-lin.cambridge.arm.com (217.140.96.140) by VI1PR0802MB2414.eurprd08.prod.outlook.com (2603:10a6:800:ba::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.428.17; Tue, 23 Jan 2018 16:49:38 +0000 From: Ayan Kumar Halder To: liviu.dudau@arm.com, brian.starkey@arm.com, malidp@foss.arm.com, airlied@linux.ie, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: nd@arm.com, Ayan Halder Subject: [PATCH v2] drm/arm/malidp: Disable pixel alpha blending for colors that do not have alpha Date: Tue, 23 Jan 2018 16:49:29 +0000 Message-Id: <1516726169-12000-1-git-send-email-ayan.halder@arm.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [217.140.96.140] X-ClientProxiedBy: DB6PR0202CA0037.eurprd02.prod.outlook.com (2603:10a6:4:a5::23) To VI1PR0802MB2414.eurprd08.prod.outlook.com (2603:10a6:800:ba::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 4682049b-9160-40f5-8e19-08d562814ad7 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:VI1PR0802MB2414; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2414;3:qYhNeqWMpAmtZCGecx6IpdolCNA1ZyKKgs8/Pn6zIOhC4lhSQLJYaRXs9pgHRurol5/clAcklz9HSGnsk1+Qc7GTrAemVlVb36dZC+dCAT5+L2B7n7UdE/iG2q3E5Sta2jYhd5oiL/Sw09ChBsTTWOfKY7yWsATHlmhJK55WIdvOhGD/kD9o/Es36d1G7so76V5R5rsBQM8nEJhDdVLkGcZ4GAbIqYHMmyGWp7QT8t2AHedfhZeDxtaXYFsWKhul;25:KO8dN1mlnARI26Iw+ohjJMo5E2hgk6+Tl4LZswPTFfw5wL9GryNntwPkTwZjWrfUUznUeYTxEfGetaAmEC/St3LU+Br5UY6KLjKPb34L8iEIX38TwSrfYVY6MoCkj1TMDBga9hnHetn7JH8PeVLhl3OI4K3mOavO9WzFYrUErNhO57cxhLU16QyVz3oGi04doDnBUFFIvIiYmpLk9tRTCnj0PfYAR1hG0jYILihp9NwCuUE8rN0+EnpTyNLepQGbzZKfH58S2klTgKsElEzVydi0orAsYuv+CSPBHwSA504VcViJgBJG2GTOFSgqznknNu8KWtudlGmecxKoUY7WxQ==;31:vWLi9w5e0TACR67dxCBVLpSq2p5aPWbMiPWBvxSkJq44xSAqEL9XZ9t/EYIO9yIYetvwD8tvf5j6AtYfJMqRJTM5y548Sl+3I2WQjYjSIYtC34gv+8XNJHfSXWaYiHE0E9ej314K+uvxv1nFSBzg0MmsXl1obYHmunvueKlpmOAlq8YwYICzJEsMvWCfTuQioxoqUL0CcJwASGQn+Ax0EYfUQZhbO25YEn15RUytr5M= X-MS-TrafficTypeDiagnostic: VI1PR0802MB2414: NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2414;20:/+ghFOcYik8piqep2UoFM8nJrRr5OccPMjX/rWwxzdLnwTHb0ZZZ4U/80B4OrxISwKkLZ5E/KTUGC2NBc8g2aSjs3AU+19IsQLexrL45YS1nNiZepLyEyp6IYjuo0ZbJXXtGpFFWSVmvkyDFOHxci00SjYE7+Nbmh2vVKPJ9jzw=;4:hMxpw4ODFSvghC/klC74srZ2wXyJwrD01oEkjDkumxLsigo5eRmUHWa04mWq9keg5Ceqor2eMXCDnkTPXie4u9gmS582OeTqFZBHCGPChK8BD683ra47ZvmGAP721T41exSafFp4BTIrK88EAVs/Blu2gsyqXVKNwWRWt0k9w+Ae0o7pC5K7aP1QGetic0cTJXG8bgAqscjq4Axr/E3YYLnpkt/QwPqBRKz+bqlejDb7kiKYKaCjbA4g+Pmku8Eed8AK9zUka8rBu3hQdsYWPHbrFDBSQh7jZnrWZtqA6IWdAvc4QQgiLMx8FR1n9sFM X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040501)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231023)(2400081)(944501161)(6055026)(6041288)(20161123562045)(20161123564045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011);SRVR:VI1PR0802MB2414;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:VI1PR0802MB2414; X-Forefront-PRVS: 05610E64EE X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(376002)(346002)(39380400002)(396003)(39860400002)(366004)(199004)(189003)(5660300001)(7696005)(36756003)(52116002)(6666003)(53936002)(59450400001)(51416003)(66066001)(68736007)(478600001)(50226002)(25786009)(81156014)(47776003)(8936002)(81166006)(106356001)(8676002)(48376002)(4326008)(2906002)(316002)(97736004)(105586002)(386003)(50466002)(305945005)(7736002)(6486002)(16586007)(26005)(72206003)(16526018)(86362001)(6116002)(3846002);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0802MB2414;H:e113505-lin.cambridge.arm.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;VI1PR0802MB2414;23:NQeUJKLHWIAJG/Y+zqh+hhkqHAZlpfysyNQWCNl?= =?us-ascii?Q?ZpysEp/rRFIQ3d9bQc/kaByQDDKpMtHFZUMyN0vr8DJFK27DD5xtpz8uf2eg?= =?us-ascii?Q?zkSjf7SHWNZldq3yHVa4Oft2JyMem5XXTOxhHHetNxqLmGtK9hUYwQQzPLjt?= =?us-ascii?Q?rOwsGjYrwQP65zm5EBfwbiN+zqOtFJSx6hM44/BElL2+4pG22iti0CimkQ+O?= =?us-ascii?Q?20wpFlHagglgH7NlKR572Q6hOZEOiCvHaXyxkjtmxcDoPZRHEgoxNoSlAwAX?= =?us-ascii?Q?useBzTkyRN2nOzZYW5XDD+cAZNCdLuyBdvXLUHNqFpRru1Xs7Ie/+PLmmy6m?= =?us-ascii?Q?m4bks8v/qwKLNQ/lwdbvETP6anmEyh1ljh2SlOpAC7t/L3fL6t12tekkWr9k?= =?us-ascii?Q?3Xu7bCXbF5BSVwg2k9PsGmwbFac8zrImJ5GkdR20U9AK23agEBpBHO5Jenqf?= =?us-ascii?Q?SED0TkyehA7RkydafLlPkamnmkmuMyNxwoWyWLyXqjfddcKN5HoQr8OtLgBD?= =?us-ascii?Q?euVqanizbwkh5ISZbLPjfBR2l2aFPX4BmXfhwfsBt7IhUNzLYuMG5D3zEzR4?= =?us-ascii?Q?FgZ053QG6jWcIcSYo+YOLVwD+WijKdhabXvMGKf5+KqNwX2k5pXazDioScie?= =?us-ascii?Q?WZnZFV3cEEk7HmvG+XOsO6lvXxYzDDOs/3WvjR3A6JBIzhpwD4yZP3upxgSp?= =?us-ascii?Q?AB4WTHMC3xa/XTRARl4/LT4ZqufwWmMg+RNz79gWO8Mw3FpVc56oHnjc8mwx?= =?us-ascii?Q?35blwWSCgnY0QGhrmLiSdBShIPaLc/6+rlEGML/+r4cBPoiBb+krRUE0qgSB?= =?us-ascii?Q?PenO5eizp351XILHymRxeRG81m9nVM2KUpb9b761iLvP3hqSyJIGGzJWa6wW?= =?us-ascii?Q?mkJ1p3nOGIArbY83uomrtbJuQpCIeB3XE7nU2HosO5ca2YgJMZa0Qvpq3pT7?= =?us-ascii?Q?x5PWXAJoDWOz1tTt4AY1aRmBnoN9khJ1YrSsWam3Jvpr0yLWXieZxhfCS4RC?= =?us-ascii?Q?Nk57B7LD+2HbyYXejjvENDwF7H2oRqPBi4VIUB973IPg69+Q2SDeYuL2Do41?= =?us-ascii?Q?ev9qjfGw=3D?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0802MB2414;6:MzEH7T1hK02ZaLl09BQZ23w2qIsR3/5Nb1qR3qzKBwQU5SM/1anlbVTSCUTfwotn7xF7yPEH4jobQEetPHuqBfsntXnCl9MhpEE5E9ESIliTW84q+uSvGkThhexnhf66xhnUR3JmWLvrkik4/BD813E+Oy8K3wEqoC9yJNY3nOoIivK2OtXv+jNAT2qiqFxAJqBMIQse3f80dBMrhNkfuTHUpTJP93GcTUwI+flWrgxfrbYfFsVB7tE7fz6+gLvw8BEQ9T5mkuDRQQQam+ROM90CLEcZrhX0b9Ob11QYgI/mrh6SSTh3zPMAu2ewxY8c79vhE7HcKUmW2I7seEMeUY8v9JtMmM/UF0v2YnuRGDE=;5:/No4UTM497FL565fwuwcd4PSNGKJVn+b/ehK830N79pLzSm6tdh4ZEwLrcTouWIPR8FGBV0zonwrcED5prJWXBSiJLGirveDvyFbFPJzz82t6HgouZ1FaRDAITf+YpuD+yIg5SXPQufJinAsQX5rx4R8NjGaTVbOVFDF/uhjFKU=;24:m/T6mr5NYvYHzBqF01r/19He6S340sDOEaSgfYK2hVA1369j5zTQgnDeTCRKJI/Fmi+gg3igU7FCmozSH8EgBpHHK9CEPUa7XZ2jWT96LXc=;7:deWZG6MJ6reTHZm8VT+t9Fa/8WMWyD8+EW77wj6115DP4zpiYBYPi6jDegttDGSYCX/F9vLathJ8sjCAGUI/3vp/8yBHlYPYQWT7ZCN993PPKa1h4wVmpJ5ApWeRlGqGoRqvefRI/w2hq53hpPstIXphco+yQtLlpfRj0WV5xS5bJLNiNsM4Mv5JoRb4wK/jC2Kv+ebGvQLjfGRvKBDzJwhG79gPw7/CCmsLALJzE1cTJGRvlhvgqdeGgmyHnlTj SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2018 16:49:38.3580 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4682049b-9160-40f5-8e19-08d562814ad7 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2414 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ayan Halder Mali dp needs to disable pixel alpha blending (use layer alpha blending) to display color formats that do not contain alpha bits per pixel This patch depends on: "[PATCH v2 01/19] drm/fourcc: Add a alpha field to drm_format_info" Signed-off-by: Ayan Kumar Halder --- Change in v2: - Use struct drm_format_info->has_alpha (boolean) to determine if a color format has alpha channel drivers/gpu/drm/arm/malidp_planes.c | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c index e741979..3b445d9 100644 --- a/drivers/gpu/drm/arm/malidp_planes.c +++ b/drivers/gpu/drm/arm/malidp_planes.c @@ -35,6 +35,9 @@ #define LAYER_COMP_MASK (0x3 << 12) #define LAYER_COMP_PIXEL (0x3 << 12) #define LAYER_COMP_PLANE (0x2 << 12) +#define LAYER_ALPHA_OFFSET (16) +#define LAYER_ALPHA_MASK (0xff) +#define LAYER_ALPHA(x) (((x) & LAYER_ALPHA_MASK) << LAYER_ALPHA_OFFSET) #define MALIDP_LAYER_COMPOSE 0x008 #define MALIDP_LAYER_SIZE 0x00c #define LAYER_H_VAL(x) (((x) & 0x1fff) << 0) @@ -268,6 +271,7 @@ static void malidp_de_plane_update(struct drm_plane *plane, struct malidp_plane_state *ms = to_malidp_plane_state(plane->state); u32 src_w, src_h, dest_w, dest_h, val; int i; + bool format_has_alpha = plane->state->fb->format->has_alpha; mp = to_malidp_plane(plane); @@ -319,12 +323,25 @@ static void malidp_de_plane_update(struct drm_plane *plane, if (plane->state->rotation & DRM_MODE_REFLECT_Y) val |= LAYER_V_FLIP; - /* - * always enable pixel alpha blending until we have a way to change - * blend modes - */ val &= ~LAYER_COMP_MASK; - val |= LAYER_COMP_PIXEL; + if (format_has_alpha) { + + /* + * always enable pixel alpha blending until we have a way + * to change blend modes + */ + val |= LAYER_COMP_PIXEL; + } else { + + /* + * do not enable pixel alpha blending as the color channel + * does not have any alpha information + */ + val |= LAYER_COMP_PLANE; + + /* Set layer alpha coefficient to 0xff ie fully opaque */ + val |= LAYER_ALPHA(0xff); + } val &= ~LAYER_FLOWCFG(LAYER_FLOWCFG_MASK); if (plane->state->crtc) { -- 2.7.4