[Freedreno] [PATCH v2] drm/msm/dp: add wide bus support

2022-02-01 Thread Kuogee Hsieh
Normally, mdp will push one pixel of data per pixel clock to interface to display. Wide bus feature will increase bus width from 32 bits to 64 bits so that it can push two pixel of data per pixel clock to interface to display. This feature is pre requirement to support 4k resolution since it will r

Re: [Freedreno] [PATCH 3/6] drm/msm/dpu: allow just single IRQ callback

2022-02-01 Thread kernel test robot
Hi Dmitry, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on v5.17-rc2 next-20220201] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as doc

Re: [Freedreno] [PATCH 3/6] drm/msm/dpu: allow just single IRQ callback

2022-02-01 Thread kernel test robot
Hi Dmitry, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm/drm-next] [also build test ERROR on v5.17-rc2 next-20220201] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as doc

[Freedreno] [PATCH v2 2/2] drm/msm/hdmi: Remove spurious IRQF_ONESHOT flag

2022-02-01 Thread Daniel Thompson
Quoting the header comments, IRQF_ONESHOT is "Used by threaded interrupts which need to keep the irq line disabled until the threaded handler has been run.". When applied to an interrupt that doesn't request a threaded irq then IRQF_ONESHOT has a lesser known (undocumented?) side effect, which it t

[Freedreno] [PATCH v2 1/2] drm/msm/dsi: Remove spurious IRQF_ONESHOT flag

2022-02-01 Thread Daniel Thompson
Quoting the header comments, IRQF_ONESHOT is "Used by threaded interrupts which need to keep the irq line disabled until the threaded handler has been run.". When applied to an interrupt that doesn't request a threaded irq then IRQF_ONESHOT has a lesser known (undocumented?) side effect, which it t

[Freedreno] [PATCH v2 0/2] drm/msm: Remove spurious IRQF_ONESHOT flags from dsi & hdmi

2022-02-01 Thread Daniel Thompson
This series corrects incorrect calls to request_irq(..., IRQF_ONESHOT, ...). These anomalies are harmless on regular kernels but cause odd behaviour on threadirq kernels and break entirely on PREEMPT_RT kernels I'm pretty certain these problems would also provoke lockdep splats on kernels with CON

[Freedreno] [PATCH v2 2/2] drm/msm/gpu: Track global faults per address-space

2022-02-01 Thread Rob Clark
From: Rob Clark Other processes don't need to know about faults that they are isolated from by virtue of address space isolation. They are only interested in whether some of their state might have been corrupted. But to be safe, also track unattributed faults. This case should really never hap

[Freedreno] [PATCH v2 1/2] drm/msm/gpu: Add ctx to get_param()

2022-02-01 Thread Rob Clark
From: Rob Clark Prep work for next patch. Signed-off-by: Rob Clark --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 3 ++- drivers/gpu/drm/msm/adreno/adreno_gpu.h | 3 ++- drivers/gpu/drm/msm/msm_drv.c | 3 ++- drivers/gpu/drm/msm/msm_gpu.h | 3 ++- drivers/gpu/drm/msm/msm_rd.

[Freedreno] [PATCH v2 0/2] drm/msm: Add tracking for faults associated with an address space

2022-02-01 Thread Rob Clark
From: Rob Clark Currently, for GL_EXT_robustness userspace uses the global and per- submitqueue fault counters to determine GUILTY_CONTEXT_RESET_EXT vs INNOCENT_CONTEXT_RESET_EXT. But that is a bit overly paranoid, in that a fault in a different process's context (when it has it's own isolated a

[Freedreno] [PATCH 5/6] drm/msm/dpu: remove struct dpu_encoder_irq

2022-02-01 Thread Dmitry Baryshkov
Remove additional indirection: specify IRQ callbacks and IRQ indices directly rather than through the pointer in the irq structure. For each IRQ we have a constant IRQ callback. This change simplifies code review as the reader no longer needs to remember which function is called. Signed-off-by: Dm

[Freedreno] [PATCH 6/6] drm/msm/dpu: pass irq to dpu_encoder_helper_wait_for_irq()

2022-02-01 Thread Dmitry Baryshkov
Pass IRQ number directly rather than passing an index in the dpu_encoder's irq table. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 29 +-- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 4 +-- .../drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c

[Freedreno] [PATCH 4/6] drm/msm/dpu: get rid of dpu_encoder_helper_(un)register_irq

2022-02-01 Thread Dmitry Baryshkov
Get rid of dpu_encoder_helper_register_irq/unregister_irq helpers, call dpu_core_register/unregister_callback directly, without surrounding them with helpers. Signed-off-by: Dmitry Baryshkov Reviewed-by: Abhinav Kumar --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 63 --- .

[Freedreno] [PATCH 3/6] drm/msm/dpu: allow just single IRQ callback

2022-02-01 Thread Dmitry Baryshkov
DPU interrupts code allows multiple callbacks per interrut. In reality none of the interrupts is shared between blocks (and will probably never be). Drop support for registering multiple callbacks per interrupt to simplify interrupt handling code. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/

[Freedreno] [PATCH 1/6] drm/msm/dpu: remove extra wrappers around dpu_core_irq

2022-02-01 Thread Dmitry Baryshkov
Remove extra dpu_irq_* wrappers from dpu_kms.c, merge them directly into dpu_core_irq_* functions. Signed-off-by: Dmitry Baryshkov Reviewed-by: Abhinav Kumar --- drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h | 12 - .../gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c | 9 --- drivers/gpu

[Freedreno] [PATCH 0/6] drm/msm/dpu: simplify IRQ helpers

2022-02-01 Thread Dmitry Baryshkov
This is the second part of https://patchwork.freedesktop.org/series/91631/ reworked and cleaned up. Changes since the original pull request: - Split applied patches - Add unlikely and WARN_ON in dpu_core_irq_register_callback() - Remove extra checks in dpu_core_irq_unregister_callback() - Remo

[Freedreno] [PATCH 2/6] drm/msm/dpu: remove always-true argument of dpu_core_irq_read()

2022-02-01 Thread Dmitry Baryshkov
The argument clear of the function dpu_core_irq_read() is always true. Remove it. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/dpu1/dpu_core_irq.h | 4 +--- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 3 +-- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c | 4 ++--