* Re: [v4 2/3] drm/panel: ili9882t: Avoid blurred screen from fast sleep
[not found] ` <20231013091844.804310-3-yangcong5@huaqin.corp-partner.google.com>
@ 2023-10-13 21:43 ` Doug Anderson
2023-10-19 21:50 ` Doug Anderson
0 siblings, 1 reply; 6+ messages in thread
From: Doug Anderson @ 2023-10-13 21:43 UTC (permalink / raw)
To: Cong Yang
Cc: sam, neil.armstrong, daniel, hsinyi, linus.walleij, swboyd,
airlied, catalin.marinas, will, dri-devel, devicetree,
linux-kernel
Hi,
On Fri, Oct 13, 2023 at 2:19 AM Cong Yang
<yangcong5@huaqin.corp-partner.google.com> wrote:
>
> At present, we have found that there may be a problem of blurred
> screen during fast sleep/resume. The direct cause of the blurred
> screen is that the IC does not receive 0x28/0x10. Because of the
> particularity of the IC, before the panel enters sleep hid must
> stop scanning, as i2c_hid_core_suspend before ili9882t_disable.
> If move the ili9882t_enter_sleep_mode function to ili9882t_unprepare,
> touch reset will pull low before panel entersleep, which does not meet
> the timing requirements.. So in order to solve this problem, the IC
> can handle it through the exception mechanism when it cannot receive
> 0x28/0x10 command. Handling exceptions requires a reset 50ms delay.
> Refer to vendor detailed analysis [1].
>
> Ilitek vendor also suggested switching the page before entering sleep to
> avoid panel IC not receiving 0x28/0x10 command.
>
> Note: 0x28 is display off, 0x10 is sleep in.
>
> [1]: https://github.com/ILITEK-LoganLin/Document/tree/main/ILITEK_Power_Sequence
>
> Signed-off-by: Cong Yang <yangcong5@huaqin.corp-partner.google.com>
> ---
> drivers/gpu/drm/panel/panel-ilitek-ili9882t.c | 22 ++++++++++++++++++-
> 1 file changed, 21 insertions(+), 1 deletion(-)
As talked about in response to the previous version [1], we can work
to see if we can improve the sequencing. However, for now this seems
fine.
Reviewed-by: Douglas Anderson <dianders@chromium.org>
[1] https://lore.kernel.org/r/CAD=FV=W_LT9mPYKjaKP3OvUDeNpsZxkhVN9NP_hQ+Es6Fe3dVw@mail.gmail.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [v4 0/3] Break out as separate driver from boe-tv101wum-nl6 panel driver
[not found] <20231013091844.804310-1-yangcong5@huaqin.corp-partner.google.com>
[not found] ` <20231013091844.804310-3-yangcong5@huaqin.corp-partner.google.com>
@ 2023-10-13 21:44 ` Doug Anderson
[not found] ` <20231013091844.804310-2-yangcong5@huaqin.corp-partner.google.com>
[not found] ` <20231013091844.804310-4-yangcong5@huaqin.corp-partner.google.com>
3 siblings, 0 replies; 6+ messages in thread
From: Doug Anderson @ 2023-10-13 21:44 UTC (permalink / raw)
To: Cong Yang
Cc: sam, neil.armstrong, daniel, hsinyi, linus.walleij, swboyd,
airlied, catalin.marinas, will, dri-devel, devicetree,
linux-kernel
Hi,
On Fri, Oct 13, 2023 at 2:18 AM Cong Yang
<yangcong5@huaqin.corp-partner.google.com> wrote:
>
> Linus series proposed to break out ili9882t as separate driver,
> but he didn't have time for that extensive rework of the driver.
> As discussed by Linus and Doug [1], keep macro using the "struct panel_init_cmd"
> until we get some resolution about the binary size issue.
>
> [1]: https://lore.kernel.org/all/20230703-fix-boe-tv101wum-nl6-v3-0-bd6e9432c755@linaro.org
>
> In [v1 2/2], Doug suggested move the ili9882t_enter_sleep_mode function
> to ili9882t_unprepare. I tried this scheme and the test failed. I will
> continue to investigate the rootcause with ilitek, which may take a long time .
> So if possible, apply this patch first. If there are new solutions later, I
> will continue upstream.
>
> [v1 2/2] https://lore.kernel.org/all/CAD=FV=XtqPJ77dx8uRb0=tMvC3CvgH5X+7mUJeXgcG228kZfUg@mail.gmail.com/
>
> Changes in v4:
> - PATCH 2/3: Change usleep_range(50000,51000) to msleep(50);.
> - Link to v3: https://lore.kernel.org/all/20231012121004.2127918-1-yangcong5@huaqin.corp-partner.google.com/
>
> Changes in v3:
> - PATCH 1/3: Remove "init_cmd_length" and "linux/of_device.h" .
> - PATCH 2/3: Change usleep_range(50000,51000).
> - PATCH 3/3: Add a little background for commit.
> - Link to v2: https://lore.kernel.org/all/20231010121402.3687948-1-yangcong5@huaqin.corp-partner.google.com/
>
> Changes in v2:
> - PATCH 1/3: fix Doug comments,define "_INIT_SWITCH_PAGE_CMD" and remove the "shutdown".
> - PATCH 2/3: Modify ili9882t_switch_page function instead of hardcoding.
> - PATCH 3/3: Enable new config in defconfig.
> - Link to v1: https://lore.kernel.org/all/20231007060639.725350-1-yangcong5@huaqin.corp-partner.google.com/
>
> Cong Yang (3):
> drm/panel: ili9882t: Break out as separate driver
> drm/panel: ili9882t: Avoid blurred screen from fast sleep
> arm64: defconfig: Enable ILITEK_ILI9882T panel
>
> arch/arm64/configs/defconfig | 1 +
> drivers/gpu/drm/panel/Kconfig | 9 +
> drivers/gpu/drm/panel/Makefile | 1 +
> .../gpu/drm/panel/panel-boe-tv101wum-nl6.c | 371 ---------
> drivers/gpu/drm/panel/panel-ilitek-ili9882t.c | 779 ++++++++++++++++++
> 5 files changed, 790 insertions(+), 371 deletions(-)
> create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9882t.c
I think the series is well-reviewed now. I'll wait a week and target
applying next Thursday or Friday unless something comes up.
-Doug
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [v4 1/3] drm/panel: ili9882t: Break out as separate driver
[not found] ` <20231013091844.804310-2-yangcong5@huaqin.corp-partner.google.com>
@ 2023-10-19 21:49 ` Doug Anderson
2023-10-20 11:11 ` Linus Walleij
1 sibling, 0 replies; 6+ messages in thread
From: Doug Anderson @ 2023-10-19 21:49 UTC (permalink / raw)
To: Cong Yang
Cc: sam, neil.armstrong, daniel, hsinyi, linus.walleij, swboyd,
airlied, catalin.marinas, will, dri-devel, devicetree,
linux-kernel
Hi,
On Fri, Oct 13, 2023 at 2:19 AM Cong Yang
<yangcong5@huaqin.corp-partner.google.com> wrote:
>
> The Starry ILI9882t-based panel should never have been part of the boe
> tv101wum driver, it is clearly based on the Ilitek ILI9882t display
> controller and if you look at the custom command sequences for the
> panel these clearly contain the signature Ilitek page switch (0xff)
> commands. The hardware has nothing in common with the other panels
> supported by this driver.
>
> Break this out into a separate driver and config symbol instead.
>
> If the placement here is out of convenience for using similar code,
> we should consider creating a helper library instead.
>
> Co-developed-by: Linus Walleij <linus.walleij@linaro.org>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
> Reviewed-by: Douglas Anderson <dianders@chromium.org>
> Signed-off-by: Cong Yang <yangcong5@huaqin.corp-partner.google.com>
> ---
> drivers/gpu/drm/panel/Kconfig | 9 +
> drivers/gpu/drm/panel/Makefile | 1 +
> .../gpu/drm/panel/panel-boe-tv101wum-nl6.c | 371 ---------
> drivers/gpu/drm/panel/panel-ilitek-ili9882t.c | 759 ++++++++++++++++++
> 4 files changed, 769 insertions(+), 371 deletions(-)
> create mode 100644 drivers/gpu/drm/panel/panel-ilitek-ili9882t.c
Pushed to drm-misc-next:
e2450d32e5fb drm/panel: ili9882t: Break out as separate driver
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [v4 2/3] drm/panel: ili9882t: Avoid blurred screen from fast sleep
2023-10-13 21:43 ` [v4 2/3] drm/panel: ili9882t: Avoid blurred screen from fast sleep Doug Anderson
@ 2023-10-19 21:50 ` Doug Anderson
0 siblings, 0 replies; 6+ messages in thread
From: Doug Anderson @ 2023-10-19 21:50 UTC (permalink / raw)
To: Cong Yang
Cc: sam, neil.armstrong, daniel, hsinyi, linus.walleij, swboyd,
airlied, catalin.marinas, will, dri-devel, devicetree,
linux-kernel
Hi,
On Fri, Oct 13, 2023 at 2:43 PM Doug Anderson <dianders@google.com> wrote:
>
> Hi,
>
> On Fri, Oct 13, 2023 at 2:19 AM Cong Yang
> <yangcong5@huaqin.corp-partner.google.com> wrote:
> >
> > At present, we have found that there may be a problem of blurred
> > screen during fast sleep/resume. The direct cause of the blurred
> > screen is that the IC does not receive 0x28/0x10. Because of the
> > particularity of the IC, before the panel enters sleep hid must
> > stop scanning, as i2c_hid_core_suspend before ili9882t_disable.
> > If move the ili9882t_enter_sleep_mode function to ili9882t_unprepare,
> > touch reset will pull low before panel entersleep, which does not meet
> > the timing requirements.. So in order to solve this problem, the IC
> > can handle it through the exception mechanism when it cannot receive
> > 0x28/0x10 command. Handling exceptions requires a reset 50ms delay.
> > Refer to vendor detailed analysis [1].
> >
> > Ilitek vendor also suggested switching the page before entering sleep to
> > avoid panel IC not receiving 0x28/0x10 command.
> >
> > Note: 0x28 is display off, 0x10 is sleep in.
> >
> > [1]: https://github.com/ILITEK-LoganLin/Document/tree/main/ILITEK_Power_Sequence
> >
> > Signed-off-by: Cong Yang <yangcong5@huaqin.corp-partner.google.com>
> > ---
> > drivers/gpu/drm/panel/panel-ilitek-ili9882t.c | 22 ++++++++++++++++++-
> > 1 file changed, 21 insertions(+), 1 deletion(-)
>
> As talked about in response to the previous version [1], we can work
> to see if we can improve the sequencing. However, for now this seems
> fine.
>
> Reviewed-by: Douglas Anderson <dianders@chromium.org>
>
> [1] https://lore.kernel.org/r/CAD=FV=W_LT9mPYKjaKP3OvUDeNpsZxkhVN9NP_hQ+Es6Fe3dVw@mail.gmail.com
Pushed to drm-misc-next:
5820a1932ce8 drm/panel: ili9882t: Avoid blurred screen from fast sleep
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [v4 3/3] arm64: defconfig: Enable ILITEK_ILI9882T panel
[not found] ` <20231013091844.804310-4-yangcong5@huaqin.corp-partner.google.com>
@ 2023-10-19 21:50 ` Doug Anderson
0 siblings, 0 replies; 6+ messages in thread
From: Doug Anderson @ 2023-10-19 21:50 UTC (permalink / raw)
To: Cong Yang
Cc: sam, neil.armstrong, daniel, hsinyi, linus.walleij, swboyd,
airlied, catalin.marinas, will, dri-devel, devicetree,
linux-kernel
Hi
On Fri, Oct 13, 2023 at 2:19 AM Cong Yang
<yangcong5@huaqin.corp-partner.google.com> wrote:
>
> DRM_PANEL_ILITEK_ILI9882T is being split out from
> DRM_PANEL_BOE_TV101WUM_NL6. Since the arm64 defconfig had the BOE
> panel driver enabled, let's also enable the Ilitek driver.
>
> Reviewed-by: Douglas Anderson <dianders@chromium.org>
> Signed-off-by: Cong Yang <yangcong5@huaqin.corp-partner.google.com>
> ---
> arch/arm64/configs/defconfig | 1 +
> 1 file changed, 1 insertion(+)
Pushed to drm-misc-next:
c2635c0ec8b4 arm64: defconfig: Enable ILITEK_ILI9882T panel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [v4 1/3] drm/panel: ili9882t: Break out as separate driver
[not found] ` <20231013091844.804310-2-yangcong5@huaqin.corp-partner.google.com>
2023-10-19 21:49 ` [v4 1/3] drm/panel: ili9882t: Break out as separate driver Doug Anderson
@ 2023-10-20 11:11 ` Linus Walleij
1 sibling, 0 replies; 6+ messages in thread
From: Linus Walleij @ 2023-10-20 11:11 UTC (permalink / raw)
To: Cong Yang
Cc: sam, neil.armstrong, daniel, dianders, hsinyi, swboyd, airlied,
catalin.marinas, will, dri-devel, devicetree, linux-kernel,
Douglas Anderson
Cong, Doug,
thanks for fixing this up, I'm very pleased with how it turned out.
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-10-20 11:11 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20231013091844.804310-1-yangcong5@huaqin.corp-partner.google.com>
[not found] ` <20231013091844.804310-3-yangcong5@huaqin.corp-partner.google.com>
2023-10-13 21:43 ` [v4 2/3] drm/panel: ili9882t: Avoid blurred screen from fast sleep Doug Anderson
2023-10-19 21:50 ` Doug Anderson
2023-10-13 21:44 ` [v4 0/3] Break out as separate driver from boe-tv101wum-nl6 panel driver Doug Anderson
[not found] ` <20231013091844.804310-2-yangcong5@huaqin.corp-partner.google.com>
2023-10-19 21:49 ` [v4 1/3] drm/panel: ili9882t: Break out as separate driver Doug Anderson
2023-10-20 11:11 ` Linus Walleij
[not found] ` <20231013091844.804310-4-yangcong5@huaqin.corp-partner.google.com>
2023-10-19 21:50 ` [v4 3/3] arm64: defconfig: Enable ILITEK_ILI9882T panel Doug Anderson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).