Received: by 10.192.165.148 with SMTP id m20csp1184983imm; Fri, 27 Apr 2018 14:22:13 -0700 (PDT) X-Google-Smtp-Source: AB8JxZryPIlTDRFt6Gf1hfiNI1CeBxYvKFYPXQPLEk8sRqFyCions/ZiloteVUTeZxpf0QgrxDeM X-Received: by 2002:a63:618b:: with SMTP id v133-v6mr3255288pgb.285.1524864133337; Fri, 27 Apr 2018 14:22:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524864133; cv=none; d=google.com; s=arc-20160816; b=JMZE/KRIs6zM0sB+9KBL+1wQasSCx8OEIq8UY4T3tDDnuDYVX5Y9bcQT6W2XYNdxdr zUUfn2CXAujhf0VdjHQHzvZlScGPEdpHE2L3rleWryDDAY1iPcj/T9VaRXLHtfx9Vk4p 6q2UIMlkwk/iK9GHEAIPZmvNPncHFQK4Xzo8eXYh5qZ/P9BD8L0KBfgUtXykHf0OEU+m /y+OrPQRkuq2QZob4LKT/JKBkyx0w9zRByz1QN63jCgJRPRuDPBuaXUA25kKd7z6g5Cn RnMN6qrPOsn2sRSz+Br79+7g6tp4pzFKTxy1A2Hn2Oujv0o+5sAg7tzRw/nBt4K3JLGX uKlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:organization:message-id:date:subject:cc:to :from:dkim-signature:arc-authentication-results; bh=XJ3KvkihpPtF/wKPjuPT+t1BETssS9KJCjCYTKgYa5c=; b=AceSw2T3oXi6GoEyIaTEYcPY4DHkfxlezMaRgnLyhOis7eGvlL2OosI9OMzX/ERrxd CUFdhPVnPky/BEVr4V7EX1MFjahyISHOwYzfnayTlhonbc3nPg1CL1mcAgekDD8qaGCc LGHeWZ5G8t8qI/FiMalwLWfGZUFA6/KDr6Zbvz+o0lh6/yKmRfPM5UGX2lhjEVArNG7R C/AyBoS7k6BXaeJ7wrD91Vu1fa2BvBpTIlY36Py+C9zZRnxb12Kl2B9H7+n7RBcYMMnt s1RJ492jQlYAYwtr1rXx++CHFtyKg2xbQ/7Nf/YLJQI29C5vq9UZW+Ly++CXx0RFBwD4 yGzw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=dpV9Ix2k; 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 e22-v6si1907070pgn.484.2018.04.27.14.21.59; Fri, 27 Apr 2018 14:22:13 -0700 (PDT) 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 (test mode) header.i=@ideasonboard.com header.s=mail header.b=dpV9Ix2k; 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 S1759279AbeD0VUx (ORCPT + 99 others); Fri, 27 Apr 2018 17:20:53 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:37394 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757592AbeD0VUw (ORCPT ); Fri, 27 Apr 2018 17:20:52 -0400 Received: from avalon.localnet (dfj612ybrt5fhg77mgycy-3.rev.dnainternet.fi [IPv6:2001:14ba:21f5:5b00:2e86:4862:ef6a:2804]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id BA6943E45; Fri, 27 Apr 2018 23:20:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1524864051; bh=RBi7VDfzMi4YNvqtgKCsWSAveJCIuHotB8R9C0f8Bfc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dpV9Ix2kblvha+3i8wJ1zoqbfrlpalHA2GgFJLZJXpxqd6xd3EcREI/B32JCOMb5K w55+h2gmMZL465RUPry0F5fu+izdQeFy5oiFc/Zo9M7ZMlAeEGuHNWtFE9NBtLUwmp NhH4cRYvMHgurI8Dq9RYvFjgXMHRHkhdwylup2qM= From: Laurent Pinchart To: Kieran Bingham Cc: linux-renesas-soc@vger.kernel.org, dri-devel@lists.freedesktop.org, David Airlie , open list Subject: Re: [PATCH v2 03/11] drm: rcar-du: Split CRTC handling to support hardware indexing Date: Sat, 28 Apr 2018 00:21:05 +0300 Message-ID: <1598672.HiR2zdP9T4@avalon> Organization: Ideas on Board Oy In-Reply-To: <20180427165722.19445-4-kieran.bingham+renesas@ideasonboard.com> References: <20180427165722.19445-1-kieran.bingham+renesas@ideasonboard.com> <20180427165722.19445-4-kieran.bingham+renesas@ideasonboard.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Kieran, Thank you for the patch. On Friday, 27 April 2018 19:57:14 EEST Kieran Bingham wrote: > The DU CRTC driver does not support distinguishing between a hardware > index, and a software (CRTC) index in the event that a DU channel might > not be populated by the hardware. > > Support this by adapting the rcar_du_device_info structure to store a > bitmask of available channels rather than a count of CRTCs. The count > can then be obtained by determining the hamming weight of the bitmask. > > This allows the rcar_du_crtc_create() function to distinguish between > both index types, and non-populated DU channels will be skipped without > leaving a gap in the software CRTC indexes. > > Signed-off-by: Kieran Bingham > Reviewed-by: Laurent Pinchart > > --- > v2: > - devm_clk_get error message adapted to display Du channel > - rgrp->planes for gen2 now uses swindex instead of hwindex > - channel_mask -> channels_mask > - channel_mask set in LE bit order. > - (.dpll_ch corrected to LE bit order) > --- > drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 26 ++++++++++++++------------ > drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 3 ++- > drivers/gpu/drm/rcar-du/rcar_du_drv.c | 22 +++++++++++----------- > drivers/gpu/drm/rcar-du/rcar_du_drv.h | 4 ++-- > drivers/gpu/drm/rcar-du/rcar_du_kms.c | 18 +++++++++++++----- > 5 files changed, 42 insertions(+), 31 deletions(-) [snip] > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.h > b/drivers/gpu/drm/rcar-du/rcar_du_drv.h index 5c7ec15818c7..f455548d77b4 > 100644 > --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.h > +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.h > @@ -52,7 +52,7 @@ struct rcar_du_output_routing { > * @gen: device generation (2 or 3) > * @features: device features (RCAR_DU_FEATURE_*) > * @quirks: device quirks (RCAR_DU_QUIRK_*) > - * @num_crtcs: total number of CRTCs > + * @channels_mask: bit mask of supported DU channels Nitpicking, I'd say "bit mask of available DU channels". Other than that, Reviewed-by: Laurent Pinchart If you're fine with the change there's no need to resubmit, I'll change this when applying. > * @routes: array of CRTC to output routes, indexed by output > (RCAR_DU_OUTPUT_*) * @num_lvds: number of internal LVDS encoders > */ > @@ -60,7 +60,7 @@ struct rcar_du_device_info { > unsigned int gen; > unsigned int features; > unsigned int quirks; > - unsigned int num_crtcs; > + unsigned int channels_mask; > struct rcar_du_output_routing routes[RCAR_DU_OUTPUT_MAX]; > unsigned int num_lvds; > unsigned int dpll_ch; -- Regards, Laurent Pinchart