All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Masney <masneyb@onstation.org>
To: robdclark@gmail.com, sean@poorly.run
Cc: bjorn.andersson@linaro.org, a.hajda@samsung.com,
	Laurent.pinchart@ideasonboard.com, airlied@linux.ie,
	daniel@ffwll.ch, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	freedreno@lists.freedesktop.org, jonathan@marek.ca
Subject: [PATCH RFC v2 0/5] drm/msm: external HDMI support for Nexus 5 phone
Date: Sun,  6 Oct 2019 21:45:04 -0400	[thread overview]
Message-ID: <20191007014509.25180-1-masneyb@onstation.org> (raw)

I am using an Analogix SP6001 SlimPort Micro-USB to 4K HDMI Adapter to
connect my Nexus 5 phone to an external display. The external display is
not fully working yet however I think I'm close. When I plug the cable
into the phone, the interrupt for the hot plug detect GPIO for the HDMI
bridge (Analogix ANX7808) fires and anx78xx_handle_common_int_4() shows
that the interrupt status bit is set to SP_HPD_ESYNC_ERR.

The second hot plug detect pin (for qcom,hdmi-tx-8974 for the MSM
KMS/DRM driver) does not fire, and the clocks are not configured via
msm_hdmi_phy_pll_init(). I suspect that this is the issue that I need to
solve next.

I verified in the downstream MSM sources that IRQ 8 on the mdss is the
correct IRQ number for hdmi-tx. Here's the relevant line from
/proc/interrupts showing that no interrupts are triggered:
93: 0 0 0 0 mdss 8 Edge hdmi_isr.

I'm going to continue digging through the code but I'd appreciate any
suggestions for things to check. I assume that the IRQs for both hot
plug detect pins should fire when I plug the cable in. Unfortunately,
the display doesn't work for me with the downstream kernel and I only
have access to a running downstream kernel over the serial console.

High-level changes since v1:
- Hot plug detect interrupt now working properly on HDMI bridge
- Introduce msm8974 PLL support

I've held back some cosmetic changes to the drivers and only included
the necessary changes required to get this functional. This requires
the following patch I sent out on 2019-09-22 to analogix-anx78xx that
corrects an i2c address:
https://lore.kernel.org/lkml/20190922175940.5311-1-masneyb@onstation.org/

Brian Masney (5):
  drm/bridge: analogix-anx78xx: add support for avdd33 regulator
  drm/msm/hdmi: add msm8974 PLL support
  ARM: dts: qcom: pm8941: add 5vs2 regulator node
  ARM: dts: qcom: msm8974: add HDMI nodes
  ARM: dts: qcom: msm8974-hammerhead: add support for external display

 .../qcom-msm8974-lge-nexus5-hammerhead.dts    | 142 ++++
 arch/arm/boot/dts/qcom-msm8974.dtsi           |  78 ++
 arch/arm/boot/dts/qcom-pm8941.dtsi            |  10 +
 drivers/gpu/drm/bridge/analogix-anx78xx.c     |  33 +
 drivers/gpu/drm/msm/Makefile                  |   1 +
 drivers/gpu/drm/msm/hdmi/hdmi.h               |   6 +
 drivers/gpu/drm/msm/hdmi/hdmi_phy.c           |   4 +-
 drivers/gpu/drm/msm/hdmi/hdmi_pll_8974.c      | 684 ++++++++++++++++++
 8 files changed, 957 insertions(+), 1 deletion(-)
 create mode 100644 drivers/gpu/drm/msm/hdmi/hdmi_pll_8974.c

-- 
2.21.0


WARNING: multiple messages have this Message-ID (diff)
From: Brian Masney <masneyb-1iNe0GrtECGEi8DpZVb4nw@public.gmane.org>
To: robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org
Cc: jonathan-eSc4qw6YbEQ@public.gmane.org,
	airlied-cv59FeDIM0c@public.gmane.org,
	linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	bjorn.andersson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	a.hajda-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org,
	Laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org,
	daniel-/w4YWyX8dFk@public.gmane.org,
	freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: [PATCH RFC v2 0/5] drm/msm: external HDMI support for Nexus 5 phone
Date: Sun,  6 Oct 2019 21:45:04 -0400	[thread overview]
Message-ID: <20191007014509.25180-1-masneyb@onstation.org> (raw)

I am using an Analogix SP6001 SlimPort Micro-USB to 4K HDMI Adapter to
connect my Nexus 5 phone to an external display. The external display is
not fully working yet however I think I'm close. When I plug the cable
into the phone, the interrupt for the hot plug detect GPIO for the HDMI
bridge (Analogix ANX7808) fires and anx78xx_handle_common_int_4() shows
that the interrupt status bit is set to SP_HPD_ESYNC_ERR.

The second hot plug detect pin (for qcom,hdmi-tx-8974 for the MSM
KMS/DRM driver) does not fire, and the clocks are not configured via
msm_hdmi_phy_pll_init(). I suspect that this is the issue that I need to
solve next.

I verified in the downstream MSM sources that IRQ 8 on the mdss is the
correct IRQ number for hdmi-tx. Here's the relevant line from
/proc/interrupts showing that no interrupts are triggered:
93: 0 0 0 0 mdss 8 Edge hdmi_isr.

I'm going to continue digging through the code but I'd appreciate any
suggestions for things to check. I assume that the IRQs for both hot
plug detect pins should fire when I plug the cable in. Unfortunately,
the display doesn't work for me with the downstream kernel and I only
have access to a running downstream kernel over the serial console.

High-level changes since v1:
- Hot plug detect interrupt now working properly on HDMI bridge
- Introduce msm8974 PLL support

I've held back some cosmetic changes to the drivers and only included
the necessary changes required to get this functional. This requires
the following patch I sent out on 2019-09-22 to analogix-anx78xx that
corrects an i2c address:
https://lore.kernel.org/lkml/20190922175940.5311-1-masneyb@onstation.org/

Brian Masney (5):
  drm/bridge: analogix-anx78xx: add support for avdd33 regulator
  drm/msm/hdmi: add msm8974 PLL support
  ARM: dts: qcom: pm8941: add 5vs2 regulator node
  ARM: dts: qcom: msm8974: add HDMI nodes
  ARM: dts: qcom: msm8974-hammerhead: add support for external display

 .../qcom-msm8974-lge-nexus5-hammerhead.dts    | 142 ++++
 arch/arm/boot/dts/qcom-msm8974.dtsi           |  78 ++
 arch/arm/boot/dts/qcom-pm8941.dtsi            |  10 +
 drivers/gpu/drm/bridge/analogix-anx78xx.c     |  33 +
 drivers/gpu/drm/msm/Makefile                  |   1 +
 drivers/gpu/drm/msm/hdmi/hdmi.h               |   6 +
 drivers/gpu/drm/msm/hdmi/hdmi_phy.c           |   4 +-
 drivers/gpu/drm/msm/hdmi/hdmi_pll_8974.c      | 684 ++++++++++++++++++
 8 files changed, 957 insertions(+), 1 deletion(-)
 create mode 100644 drivers/gpu/drm/msm/hdmi/hdmi_pll_8974.c

-- 
2.21.0

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

             reply	other threads:[~2019-10-07  1:45 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-07  1:45 Brian Masney [this message]
2019-10-07  1:45 ` [PATCH RFC v2 0/5] drm/msm: external HDMI support for Nexus 5 phone Brian Masney
2019-10-07  1:45 ` [PATCH RFC v2 1/5] drm/bridge: analogix-anx78xx: add support for avdd33 regulator Brian Masney
2019-10-07  1:45   ` Brian Masney
2019-10-07 17:54   ` Laurent Pinchart
2019-10-07 17:54     ` Laurent Pinchart
2019-10-07  1:45 ` [PATCH RFC v2 2/5] drm/msm/hdmi: add msm8974 PLL support Brian Masney
2019-10-07  1:45   ` Brian Masney
2019-10-07  1:45 ` [PATCH RFC v2 3/5] ARM: dts: qcom: pm8941: add 5vs2 regulator node Brian Masney
2019-10-07  1:45   ` Brian Masney
2019-10-07  5:48   ` Bjorn Andersson
2019-10-07  1:45 ` [PATCH RFC v2 4/5] ARM: dts: qcom: msm8974: add HDMI nodes Brian Masney
2019-10-07  1:45   ` Brian Masney
2019-10-09  2:21   ` Stephen Boyd
2019-10-09  6:05     ` Brian Masney
2019-10-09 15:39       ` Stephen Boyd
2019-10-09 15:39       ` Stephen Boyd
2019-10-09 15:39         ` Stephen Boyd
2019-10-09 16:51         ` Brian Masney
     [not found]       ` <20191009060520.GA14506-1iNe0GrtECGEi8DpZVb4nw@public.gmane.org>
2019-10-09 15:39         ` Stephen Boyd
2019-10-07  1:45 ` [PATCH RFC v2 5/5] ARM: dts: qcom: msm8974-hammerhead: add support for external display Brian Masney
2019-10-07  1:45   ` Brian Masney
2019-10-09  2:25   ` Stephen Boyd

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191007014509.25180-1-masneyb@onstation.org \
    --to=masneyb@onstation.org \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=airlied@linux.ie \
    --cc=bjorn.andersson@linaro.org \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=jonathan@marek.ca \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robdclark@gmail.com \
    --cc=sean@poorly.run \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.