Patch "drm/bridge: adv7511: Reuse __adv7511_power_on/off() when probing EDID" has been added to the 4.9-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
drm/bridge: adv7511: Reuse __adv7511_power_on/off() when probing EDID
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-bridge-adv7511-reuse-__adv7511_power_on-off-when-probing-edid.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
4226d9b127cf4758ba0e07931b3f0d59f1b1a50cMon Sep 17 00:00:00 2001
From: John Stultz <[email protected]>
Date: Mon, 16 Jan 2017 16:52:51 -0800
Subject: drm/bridge: adv7511: Reuse __adv7511_power_on/off() when probing EDID
From: John Stultz <[email protected]>
commit 4226d9b127cf4758ba0e07931b3f0d59f1b1a50c upstream.
Thus this patch changes the EDID probing logic so that we re-use the __adv7511_power_on/off() calls instead of duplciating logic.
This does change behavior slightly as it adds the HPD signal pulse to the EDID probe path, but Archit has had a patch to add HPD signal pulse to the EDID probe path before, so this should address the cases where that helped. Another difference is that regcache_mark_dirty() is also called in the power off path once EDID is probed.
--- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-)
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +3 -14
@@ -573,24 +573,13 @@ static int adv7511_get_modes(struct adv7unsigned int count;/* Reading the EDID only works if the device is powered */ -if (!adv7511->powered) { -regmap_update_bits (adv7511->regmap,ADV7511_REG_POWER , -ADV7511_POWER_POWER_DOWN ,0 ); -if (adv7511->i2c_main->irq) { -regmap_write (adv7511->regmap,ADV7511_REG_INT_ENABLE (0 ), -ADV7511_INT0_EDID_READY ); -regmap_write (adv7511->regmap,ADV7511_REG_INT_ENABLE (1 ), -ADV7511_INT1_DDC_ERROR ); - } - adv7511->current_edid_segment =-1 ; - } +if (!adv7511->powered) +__adv7511_power_on (adv7511); edid =drm_do_get_edid (connector, adv7511_get_edid_block, adv7511);if (!adv7511->powered) -regmap_update_bits (adv7511->regmap,ADV7511_REG_POWER , -ADV7511_POWER_POWER_DOWN , -ADV7511_POWER_POWER_DOWN ); +__adv7511_power_off (adv7511);kfree (adv7511->edid); adv7511->edid = edid;
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/drm-bridge-adv7511-re-write-the-i2c-address-before-edid-probing.patch queue-4.9/drm-bridge-adv7511-rework-adv7511_power_on-off-so-they-can-be-reused-internally.patch queue-4.9/drm-bridge-adv7511-reuse-__adv7511_power_on-off-when-probing-edid.patch