Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 76569207 authored by Benjamin Gaignard's avatar Benjamin Gaignard
Browse files

drm: sti: remove gpio for HDMI hot plug detection



gpio used for HDMI hot plug detection is useless,
HDMI_STI register contains an hot plug detection status bit.
Fix binding documentation.

Signed-off-by: default avatarBenjamin Gaignard <benjamin.gaignard@linaro.org>
parent 41a14623
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -68,7 +68,6 @@ STMicroelectronics stih4xx platforms
    number of clocks may depend of the SoC type.
  - clock-names: names of the clocks listed in clocks property in the same
    order.
  - hdmi,hpd-gpio: gpio id to detect if an hdmi cable is plugged or not.
  - ddc: phandle of an I2C controller used for DDC EDID probing

sti-hda:
@@ -174,7 +173,6 @@ Example:
				interrupt-names	= "irq";
				clock-names	= "pix", "tmds", "phy", "audio";
				clocks          = <&clockgen_c_vcc CLK_S_PIX_HDMI>, <&clockgen_c_vcc CLK_S_TMDS_HDMI>, <&clockgen_c_vcc CLK_S_HDMI_REJECT_PLL>, <&clockgen_b1 CLK_S_PCM_0>;
				hdmi,hpd-gpio	= <&PIO2 5>;
			};

			sti-hda@fe85a000 {
+2 −9
Original line number Diff line number Diff line
@@ -130,8 +130,7 @@ static irqreturn_t hdmi_irq_thread(int irq, void *arg)

	/* Hot plug/unplug IRQ */
	if (hdmi->irq_status & HDMI_INT_HOT_PLUG) {
		/* read gpio to get the status */
		hdmi->hpd = gpio_get_value(hdmi->hpd_gpio);
		hdmi->hpd = readl(hdmi->regs + HDMI_STA) & HDMI_STA_HOT_PLUG;
		if (hdmi->drm_dev)
			drm_helper_hpd_irq_event(hdmi->drm_dev);
	}
@@ -766,13 +765,7 @@ static int sti_hdmi_probe(struct platform_device *pdev)
		return PTR_ERR(hdmi->clk_audio);
	}

	hdmi->hpd_gpio = of_get_named_gpio(np, "hdmi,hpd-gpio", 0);
	if (hdmi->hpd_gpio < 0) {
		DRM_ERROR("Failed to get hdmi hpd-gpio\n");
		return -EIO;
	}

	hdmi->hpd = gpio_get_value(hdmi->hpd_gpio);
	hdmi->hpd = readl(hdmi->regs + HDMI_STA) & HDMI_STA_HOT_PLUG;

	init_waitqueue_head(&hdmi->wait_event);

+3 −2
Original line number Diff line number Diff line
@@ -14,6 +14,9 @@
#define HDMI_STA           0x0010
#define HDMI_STA_DLL_LCK   BIT(5)

#define HDMI_STA_HOT_PLUG_SHIFT 4
#define HDMI_STA_HOT_PLUG	(1 << HDMI_STA_HOT_PLUG_SHIFT)

struct sti_hdmi;

struct hdmi_phy_ops {
@@ -37,7 +40,6 @@ struct hdmi_phy_ops {
 * @irq_status: interrupt status register
 * @phy_ops: phy start/stop operations
 * @enabled: true if hdmi is enabled else false
 * @hpd_gpio: hdmi hot plug detect gpio number
 * @hpd: hot plug detect status
 * @wait_event: wait event
 * @event_received: wait event status
@@ -57,7 +59,6 @@ struct sti_hdmi {
	u32 irq_status;
	struct hdmi_phy_ops *phy_ops;
	bool enabled;
	int hpd_gpio;
	bool hpd;
	wait_queue_head_t wait_event;
	bool event_received;