[Freedreno] db820: smmu clocks issue in kernel
Rob Clark
robdclark at gmail.com
Tue Aug 14 14:37:55 UTC 2018
On Tue, Aug 14, 2018 at 9:00 AM Pradeep Reddy
<pradeep.mundlapudi5 at gmail.com> wrote:
>
> Hi Archit,
>
> I have enabled splash screen (penguin) in bootloader with fastboot oem select-display-panel hdmi. Kernel crashes during boot. I identified that there is issue with below two smmu clocks.
> static struct clk_branch smmu_mdp_ahb_clk = {
> .halt_reg = 0x2454,
> .clkr = {
> .enable_reg = 0x2454,
> .enable_mask = BIT(0),
>
> static struct clk_branch smmu_mdp_axi_clk = {
> .halt_reg = 0x2458,
> .clkr = {
> .enable_reg = 0x2458,
> .enable_mask = BIT(0),
>
> I tried to reset the clocks in mmcc_msm8996_probe, with the below changes.
> regmap_update_bits(regmap, 0x2454, BIT(0), 0);
> regmap_update_bits(regmap, 0x2458, BIT(0), 0);
>
> Then i don't see a kernel crash but blue screen appears after penguin for some time. Then HDMI display comes up.
>
> Can you please let me know better way to reset smmu clocks?
>
tbh, this is probably the tip of the iceberg.. It is going to take a
fair bit of work to make this work properly, especially with something
like hdmi were we need to readback hw state to figure out display
timings. I started something a year or so back on db410c, but it
needs some clk framework changes and some gdsc changes. I'm not sure
anyone has had a chance to pick up this work since then.
Do you *really* need to enable the display from the bootloader. By
*far* the easiest solution is to not do that.
BR,
-R
More information about the Freedreno
mailing list