mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-06 22:42:10 +00:00
display : hdmi: fix hibernation
When echo disk > /sys/power/state , do reset the hdmi will fail to show the console log. it is caused by a reset used share way to get and it will fail to set the reset hardware fix this by use reset_control_get_exclusive Signed-off-by: Keith Zhao <keith.zhao@starfivetech.com>
This commit is contained in:
parent
572737cbc6
commit
9d2b3f0773
1 changed files with 4 additions and 3 deletions
|
@ -411,7 +411,7 @@ static int vs_dc_dc8200_get_clock(struct device *dev, struct vs_dc *dc)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int vs_dc_dc8200_clock_enable(struct device *dev, struct vs_dc *dc)
|
static int vs_dc_dc8200_clock_enable(struct device *dev, struct vs_dc *dc)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
/*clk_prepare_enable(dc->sys_clk);*/
|
/*clk_prepare_enable(dc->sys_clk);*/
|
||||||
|
@ -459,7 +459,7 @@ static void vs_vout_reset_get(struct device *dev, struct vs_dc *dc)
|
||||||
dc->rst_vout_src = reset_control_get_shared(dev, "rst_vout_src");
|
dc->rst_vout_src = reset_control_get_shared(dev, "rst_vout_src");
|
||||||
if (IS_ERR(dc->rst_vout_src))
|
if (IS_ERR(dc->rst_vout_src))
|
||||||
dev_err(dev, "failed to get rst_vout_src\n");
|
dev_err(dev, "failed to get rst_vout_src\n");
|
||||||
dc->noc_disp = reset_control_get_shared(dev, "rst_noc_disp");
|
dc->noc_disp = reset_control_get_exclusive(dev, "rst_noc_disp");
|
||||||
if (IS_ERR(dc->noc_disp))
|
if (IS_ERR(dc->noc_disp))
|
||||||
dev_err(dev, "failed to get rst_noc_disp\n");
|
dev_err(dev, "failed to get rst_noc_disp\n");
|
||||||
}
|
}
|
||||||
|
@ -467,7 +467,7 @@ static void vs_vout_reset_get(struct device *dev, struct vs_dc *dc)
|
||||||
static void vs_vout_reset_deassert(struct vs_dc *dc)
|
static void vs_vout_reset_deassert(struct vs_dc *dc)
|
||||||
{
|
{
|
||||||
reset_control_deassert(dc->rst_vout_src);//no!
|
reset_control_deassert(dc->rst_vout_src);//no!
|
||||||
reset_control_deassert(dc->noc_disp);//ok
|
//reset_control_deassert(dc->noc_disp);//ok
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -536,6 +536,7 @@ static int dc_vout_clk_enable(struct device *dev, struct vs_dc *dc)
|
||||||
dev_err(dev, "failed to enable clock\n");
|
dev_err(dev, "failed to enable clock\n");
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
reset_control_deassert(dc->noc_disp);
|
||||||
|
|
||||||
ret = vs_dc_vouttop_clock_enable(dev, dc);
|
ret = vs_dc_vouttop_clock_enable(dev, dc);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue