From patchwork Thu Apr 9 00:46:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 11481129 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 959861392 for ; Thu, 9 Apr 2020 00:46:27 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 708CA2084D for ; Thu, 9 Apr 2020 00:46:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="uWTJR6Wf" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726559AbgDIAq0 (ORCPT ); Wed, 8 Apr 2020 20:46:26 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:39600 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726536AbgDIAq0 (ORCPT ); Wed, 8 Apr 2020 20:46:26 -0400 Received: from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi [81.175.216.236]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 44AB02DC; Thu, 9 Apr 2020 02:46:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1586393184; bh=XrImY9BvJeKbhh8QnJm/IVyeaDkiA3BMUm0hl4NRemY=; h=From:To:Cc:Subject:Date:From; b=uWTJR6WfIbrGc6PfSOY/8QElBelrCrO2EYtcfL/UQe6sA/Z9mAcZq+38t6Am94rtP xJj0A4Q/HhvjAC9ESjB5d+crmS5gEVkx7DRsaFeUOM9CagW96+DdomWfocD6N1mRsJ fFuqpl+1vTt5QdWHsCMsBJpGU0YByMJ2YivIWmAg= From: Laurent Pinchart To: dri-devel@lists.freedesktop.org Cc: linux-renesas-soc@vger.kernel.org, Andrzej Hajda , Neil Armstrong , Jonas Karlman , Jernej Skrabec , Rob Clark , Sean Paul Subject: [PATCH 0/4] drm: bridge: adv7511: Enable usage with DRM bridge connector helper Date: Thu, 9 Apr 2020 03:46:06 +0300 Message-Id: <20200409004610.12346-1-laurent.pinchart+renesas@ideasonboard.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org Hello, This patch series enables usage of the adv7511 driver with the DRM bridge connector helper (drm_bridge_connector.c). Patch 1/4 and 2/4 start by splitting EDID read and connector creation to separate functions to ease review of 3/4 and 4/4. Patch 3/4 performs the bulk of the work by implementing the DRM bridge connector-related operations, and patch 4/4 then makes connector creation optional. I've had trouble wrapping my head around the HPD handling code in the av7511 driver (this is why I've CC'ed Rob and Sean who last touched this). The split of the code between the .detect() operation and the HPD IRQ seems a bit weird to me, and I haven't dared touching it as it also appears fragile. In particular, I'm not sure why we need to retrieve modes in the .detect() operation. git blame didn't help, as the code has been there since the beginning. I'd like to remove that completely, but to avoid breakages, patch 3/4 only does so when the adv7511 is used without creating a DRM connector. Usage of both adv7511->status and adv7511->connector.status in the two operations also seems awkward, and I would like to drop usage of the latter in the new code path, but I also haven't dared refactoring that yet. Feedback would be welcome. Laurent Pinchart (4): drm: bridge: adv7511: Split EDID read to a separate function drm: bridge: adv7511: Split connector creation to a separate function drm: bridge: adv7511: Implement bridge connector operations drm: bridge: adv7511: Make connector creation optional drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 137 +++++++++++++------ 1 file changed, 98 insertions(+), 39 deletions(-)