linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).