Message ID | 20240117075154.58747-6-jagan@amarulasolutions.com |
---|---|
State | Accepted |
Commit | 25353b5b8b2be4402ec449946235b07670217666 |
Delegated to: | Anatolij Gustschin |
Headers | show |
Series | video: dw_hdmi: Support Vendor PHY | expand |
On 17/01/2024 08:51, Jagan Teki wrote: > From: Jagan Teki <jagan@edgeble.ai> > > Add support for DW HDMI Setup HPD status. > > Signed-off-by: Jagan Teki <jagan@edgeble.ai> > --- > Changes for v3: > - check hdmi->ops > Changes for v2: > - none > > drivers/video/dw_hdmi.c | 3 +++ > include/dw_hdmi.h | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/drivers/video/dw_hdmi.c b/drivers/video/dw_hdmi.c > index 989b7ab2db..ab4811cfc7 100644 > --- a/drivers/video/dw_hdmi.c > +++ b/drivers/video/dw_hdmi.c > @@ -1061,4 +1061,7 @@ void dw_hdmi_init(struct dw_hdmi *hdmi) > > /* enable i2c client nack % arbitration error irq */ > hdmi_write(hdmi, ~0x44, HDMI_I2CM_CTLINT); > + > + if (hdmi->ops && hdmi->ops->setup_hpd) > + hdmi->ops->setup_hpd(hdmi); > } > diff --git a/include/dw_hdmi.h b/include/dw_hdmi.h > index a1f0e64507..f4d66edace 100644 > --- a/include/dw_hdmi.h > +++ b/include/dw_hdmi.h > @@ -539,6 +539,7 @@ struct dw_hdmi; > struct dw_hdmi_phy_ops { > int (*phy_set)(struct dw_hdmi *hdmi, uint mpixelclock); > void (*read_hpd)(struct dw_hdmi *hdmi, bool hdp_status); > + void (*setup_hpd)(struct dw_hdmi *hdmi); > }; > > struct dw_hdmi { Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
diff --git a/drivers/video/dw_hdmi.c b/drivers/video/dw_hdmi.c index 989b7ab2db..ab4811cfc7 100644 --- a/drivers/video/dw_hdmi.c +++ b/drivers/video/dw_hdmi.c @@ -1061,4 +1061,7 @@ void dw_hdmi_init(struct dw_hdmi *hdmi) /* enable i2c client nack % arbitration error irq */ hdmi_write(hdmi, ~0x44, HDMI_I2CM_CTLINT); + + if (hdmi->ops && hdmi->ops->setup_hpd) + hdmi->ops->setup_hpd(hdmi); } diff --git a/include/dw_hdmi.h b/include/dw_hdmi.h index a1f0e64507..f4d66edace 100644 --- a/include/dw_hdmi.h +++ b/include/dw_hdmi.h @@ -539,6 +539,7 @@ struct dw_hdmi; struct dw_hdmi_phy_ops { int (*phy_set)(struct dw_hdmi *hdmi, uint mpixelclock); void (*read_hpd)(struct dw_hdmi *hdmi, bool hdp_status); + void (*setup_hpd)(struct dw_hdmi *hdmi); }; struct dw_hdmi {