debugfs.
Note that we don't add node_to_intel_display() functionality in
to_intel_display(). It's too specific for that.
Signed-off-by: Jani Nikula
---
.../drm/i915/display/intel_display_debugfs.c | 18 ++
drivers/gpu/drm/i915/i915_debugfs.c| 4
2 fil
Strike another i915 core -> display include and call.
Jani Nikula (2):
drm/i915/debugfs: remove superfluous kernel_param_lock/unlock
drm/i915/debugfs: add dedicated intel_display_caps debugfs for display
.../drm/i915/display/intel_display_debugfs.c | 18 ++
drivers/gpu/
We're not actually accessing the module params here anymore. The locking
is completely unnecessary.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_debugfs.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
b/drivers/gpu/drm/i915/i915_debu
On Tue, 10 Sep 2024, Matt Coster wrote:
> On 10/09/2024 11:03, Jani Nikula wrote:
>> Building with clang and and W=1 leads to warning about unused
>> pvr_fw_version_packed(). Fix by annotating it with __maybe_unused.
>>
>> See also commit 6863f5643dd7 ("kbuild: a
On Tue, 10 Sep 2024, "Chrisanthus, Anitha" wrote:
> Thanks for the patch.
>
> Acked-by: Anitha Chrisanthus
Thanks, pushed to drm-misc-next.
BR,
Jani.
--
Jani Nikula, Intel
;)' shows that this was a legacy
> DRM level irq_enabled information that got removed.
>
> But the driver one already existed under a different
> name.
>
> Cc: Jani Nikula
> Signed-off-by: Rodrigo Vivi
> ---
> drivers/gpu/drm/i915/i915_drv.h | 2 --
> drivers/gp
intel_display struct yet because it depends
> on drm_i915_private for the IS_MOBILE.
>
> While doing this conversion also update the MIT header using
> the new SPDX ones.
>
> Cc: Jesse Barnes
> Cc: Jani Nikula
> Signed-off-by: Rodrigo Vivi
> ---
> drivers/gpu/drm/i915
On Thu, 12 Sep 2024, Jani Nikula wrote:
> On Thu, 12 Sep 2024, Ankit Nautiyal wrote:
>> Add macros to check if platform supports bigjoiner/uncompressed joiner.
>> Replace the existing DISPLAY_VER checks with these.
>> Additionally use it before readout for joiner stu
Convert dmc error state printing to new snapshot capture/print division.
v2: Rebase
Reviewed-by: Rodrigo Vivi
Signed-off-by: Jani Nikula
---
.../drm/i915/display/intel_display_snapshot.c | 5 +++
drivers/gpu/drm/i915/display/intel_dmc.c | 38 +++
drivers/gpu/drm/i915
Snapshot display device and runtime info as well as display parameters
in display snapshot.
Reviewed-by: Rodrigo Vivi
Signed-off-by: Jani Nikula
---
.../drm/i915/display/intel_display_snapshot.c | 25 +++
drivers/gpu/drm/i915/i915_gpu_error.c | 10
drivers/gpu
bolting the snapshots there as well.
v3: Fix build harder for CONFIG_DRM_I915_CAPTURE_ERROR=n
v2: Fix build for CONFIG_DRM_I915_CAPTURE_ERROR=n (kernel test robot)
Reviewed-by: Rodrigo Vivi
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/Makefile | 1 +
.../drm/i915/display
drigo Vivi
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/display/intel_display_params.c | 8 +---
drivers/gpu/drm/i915/display/intel_display_params.h | 5 ++---
drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 2 +-
4
Rebased [1].
BR,
Jani.
[1] https://lore.kernel.org/r/cover.1725888718.git.jani.nik...@intel.com
Jani Nikula (4):
drm/i915: dump display parameters captured in error state, not current
drm/i915/display: add intel_display_snapshot abstraction
drm/i915/display: move device info and params
i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index cb0f6db5f8e7..c53eb8e165de 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -2520,7 +2520,7 @@ bool intel_dp_joiner_needs_dsc(struct drm_i915_private
> *i915, bool use_joiner)
>* limitation. DG2 onwards pipe joiner can be enabled without
>* compression.
>*/
> - return DISPLAY_VER(i915) < 13 && use_joiner;
> + return !HAS_UNCOMPRESSED_JOINER(i915) && use_joiner;
> }
>
> static int
--
Jani Nikula, Intel
On Thu, 12 Sep 2024, Dmitry Baryshkov wrote:
> On Thu, Sep 12, 2024 at 02:50:04PM GMT, Marc Gonzalez wrote:
>> On 12/09/2024 14:28, Dmitry Baryshkov wrote:
>> > On Thu, Sep 12, 2024 at 02:14:10PM GMT, Marc Gonzalez wrote:
>> >> On 12/09/2024 13:15, Jani Nikula wro
single codepath that
> can focus on the details related to the VBT layout.
>
> This should have no functional changes.
Neat! Some nitpicks inline, but overall,
Reviewed-by: Jani Nikula
>
> Signed-off-by: Ville Syrjälä
> ---
> drivers/gpu/drm/i915/Makefile
ntel_bios.c
> @@ -2964,6 +2964,8 @@ static const struct bdb_header *get_bdb_header(const
> struct vbt_header *vbt)
> return _vbt + vbt->bdb_offset;
> }
>
> +static const char vbt_signature[4] = "$VBT";
Always a bit scary to add s
m_size - count) {
> drm_dbg(display->drm,
> @@ -3109,7 +3113,7 @@ static struct vbt_header *spi_oprom_get_vbt(struct
> intel_display *display,
> goto err_not_found;
>
> for (count = 0; count < vbt_size; count += 4)
> - *(vbt + store++) = intel_spi_read(&i915->uncore, found + count);
> + *(vbt + store++) = intel_spi_read32(&i915->uncore, found +
> count);
>
> if (!intel_bios_is_valid_vbt(display, vbt, vbt_size))
> goto err_free_vbt;
--
Jani Nikula, Intel
the two codepaths. This will make no functional difference.
>
> Signed-off-by: Ville Syrjälä
Reviewed-by: Jani Nikula
> ---
> drivers/gpu/drm/i915/display/intel_bios.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_b
On Tue, 10 Sep 2024, Ville Syrjala wrote:
> From: Ville Syrjälä
>
> Unify the SPI vs. PCI ROM VBT read codepaths a bit by
> pulling some size overflow checks from the PCI side
> into the SPI side.
>
> Signed-off-by: Ville Syrjälä
Reviewed-by: Jani Nikula
> ---
> d
On Thu, 12 Sep 2024, Marc Gonzalez wrote:
> On 11/09/2024 12:23, Jani Nikula wrote:
>> On Tue, 10 Sep 2024, Marc Gonzalez wrote:
>>> On 10/09/2024 16:51, Dmitry Baryshkov wrote:
>>>> On Tue, Sep 10, 2024 at 01:03:43PM GMT, Jani Nikula wrote:
>>>>>
el_alpm_lobf_compute_config(intel_dp, pipe_config);
> intel_dp_drrs_compute_config(connector, pipe_config, link_bpp_x16);
> intel_dp_compute_vsc_sdp(intel_dp, pipe_config, conn_state);
> intel_dp_compute_hdr_metadata_infoframe_sdp(intel_dp, pipe_config,
> conn_state);
--
Jani Nikula, Intel
_BIN_B 0x491CC
> +#define DPST_IE_BIN(pipe)_MMIO_PIPE(pipe,
> _DPST_IE_BIN_A, _DPST_IE_BIN_B)
> +#define DPST_IE_BIN_DATA_MASK REG_GENMASK(9,
> 0)
> +#define DPST_IE_BIN_DATA(val)
> REG_FIELD_PREP(DPST_IE_BIN_DATA_MASK, val)
> +
> +#define _DPST_IE_INDEX_A 0x490DC
> +#define _DPST_IE_INDEX_B 0x491DC
> +#define DPST_IE_INDEX(pipe) _MMIO_PIPE(pipe,
> _DPST_IE_INDEX_A, _DPST_IE_INDEX_B)
> +#define DPST_IE_BIN_INDEX_MASK REG_GENMASK(6,
> 0)
> +#define DPST_IE_BIN_INDEX(val)
> REG_FIELD_PREP(DPST_IE_BIN_INDEX_MASK, val)
> +
> #define INTEL_HISTOGRAM_PIPEA0x9000
> #define INTEL_HISTOGRAM_PIPEB0x9002
> #define INTEL_HISTOGRAM_EVENT(pipe) PIPE(pipe, \
--
Jani Nikula, Intel
ews to
> @@ -1431,6 +1437,13 @@ struct intel_crtc_state {
>
> /* LOBF flag */
> bool has_lobf;
> +
> + /* HISTOGRAM data */
Why all caps?
> + int histogram_en;
> + struct drm_property_blob *global_iet;
> + struct drm_property_blob *histogram;
> + bool global_iet_changed;
> + bool histogram_en_changed;
Please add a substruct for all the histogram stuff to keep it clean.
> };
>
> enum intel_pipe_crc_source {
> @@ -1538,6 +1551,10 @@ struct intel_crtc {
> struct pm_qos_request vblank_pm_qos;
>
> struct intel_histogram *histogram;
> + /* HISTOGRAM properties */
> + struct drm_property *histogram_en_property;
> + struct drm_property *global_iet_property;
> + struct drm_property *histogram_property;
>
> #ifdef CONFIG_DEBUG_FS
> struct intel_pipe_crc pipe_crc;
> diff --git a/drivers/gpu/drm/i915/display/intel_histogram.c
> b/drivers/gpu/drm/i915/display/intel_histogram.c
> index 83ba826a7a89..ad4f75607ccb 100644
> --- a/drivers/gpu/drm/i915/display/intel_histogram.c
> +++ b/drivers/gpu/drm/i915/display/intel_histogram.c
> @@ -66,6 +66,12 @@ static void intel_histogram_handle_int_work(struct
> work_struct *work)
> i, histogram->bindata[i]);
> }
>
> + drm_property_replace_global_blob(&i915->drm,
> + &intel_crtc->config->histogram,
> + sizeof(histogram->bindata),
> + histogram->bindata, &intel_crtc->base.base,
> + intel_crtc->histogram_property);
> +
> /* Notify user for Histogram rediness */
> if (kobject_uevent_env(&i915->drm.primary->kdev->kobj, KOBJ_CHANGE,
> histogram_event))
> @@ -193,6 +199,7 @@ static void intel_histogram_disable(struct intel_crtc
> *intel_crtc)
>
> cancel_delayed_work(&histogram->handle_histogram_int_work);
> histogram->enable = false;
> + intel_crtc->config->histogram_en = false;
> }
>
> int intel_histogram_update(struct intel_crtc *intel_crtc, bool enable)
--
Jani Nikula, Intel
PIPE_LEGACY_BLC_EVENT_ENABLE (1UL << 22)
> #define PIPE_ODD_FIELD_INTERRUPT_ENABLE(1UL << 21)
> @@ -1678,7 +1678,7 @@
> #define PIPE_HOTPLUG_INTERRUPT_STATUS (1UL << 10)
> #define PIPE_VSYNC_INTERRUPT_STATUS(1UL << 9)
> #define PIPE_DISPLAY_LINE_COMPARE_STATUS (1UL << 8)
> -#define PIPE_DPST_EVENT_STATUS (1UL << 7)
> +#define PIPE_HISTOGRAM_EVENT_STATUS(1UL << 7)
> #define PIPE_A_PSR_STATUS_VLV (1UL << 6)
> #define PIPE_LEGACY_BLC_EVENT_STATUS (1UL << 6)
> #define PIPE_ODD_FIELD_INTERRUPT_STATUS(1UL << 5)
> @@ -2516,6 +2516,7 @@
> #define GEN11_PIPE_PLANE7_FLIP_DONE REG_BIT(18) /* icl/tgl */
> #define GEN11_PIPE_PLANE6_FLIP_DONE REG_BIT(17) /* icl/tgl */
> #define GEN11_PIPE_PLANE5_FLIP_DONE REG_BIT(16) /* icl+ */
> +#define GEN9_PIPE_HISTOGRAM_EVENT REG_BIT(12) /* skl+ */
> #define GEN9_PIPE_CURSOR_FAULT REG_BIT(11) /* skl+ */
> #define GEN9_PIPE_PLANE4_FAULT REG_BIT(10) /* skl+ */
> #define GEN8_PIPE_CURSOR_FAULT REG_BIT(10) /* bdw */
--
Jani Nikula, Intel
INTEL_HISTOGRAM_PIPEA, \
> + INTEL_HISTOGRAM_PIPEB)
> +
> +#define HISTOGRAM_BIN_COUNT 32
> +#define HISTOGRAM_IET_LENGTH 33
> +
Please put registers in a separate _regs.h file.
> +enum intel_global_hist_status {
> + INTEL_HISTOGRAM_ENABLE,
> + INTEL_HISTOGRAM_DISABLE,
> +};
> +
> +enum intel_global_histogram {
> + INTEL_HISTOGRAM,
> +};
> +
> +enum intel_global_hist_lut {
> + INTEL_HISTOGRAM_PIXEL_FACTOR,
> +};
> +
> +int intel_histogram_atomic_check(struct intel_crtc *intel_crtc);
> +int intel_histogram_update(struct intel_crtc *intel_crtc, bool enable);
> +int intel_histogram_set_iet_lut(struct intel_crtc *intel_crtc, u32 *data);
> +int intel_histogram_init(struct intel_crtc *intel_crtc);
> +void intel_histogram_deinit(struct intel_crtc *intel_crtc);
> +
> +#endif /* __INTEL_HISTOGRAM_H__ */
> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
> index b9670ae09a9e..424ea43016dd 100644
> --- a/drivers/gpu/drm/xe/Makefile
> +++ b/drivers/gpu/drm/xe/Makefile
> @@ -238,6 +238,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
> i915-display/intel_hdcp.o \
> i915-display/intel_hdcp_gsc_message.o \
> i915-display/intel_hdmi.o \
> + i915-display/intel_histogram.o \
> i915-display/intel_hotplug.o \
> i915-display/intel_hotplug_irq.o \
> i915-display/intel_hti.o \
--
Jani Nikula, Intel
2b_lane_eq(struct intel_dp *intel_dp,
> deadline = jiffies + msecs_to_jiffies_timeout(400);
>
> for (try = 0; try < max_tries; try++) {
> - usleep_range(delay_us, 2 * delay_us);
> + fsleep(delay_us);
>
> /*
>* The delay may get updated. The transmitter shall read the
--
Jani Nikula, Intel
/*
> + * The delay may get updated. The transmitter shall read the
> + * delay before link status during link training.
> + */
> + delay_us = drm_dp_128b132b_read_aux_rd_interval(&intel_dp->aux);
> }
>
> if (try == max_tries) {
--
Jani Nikula, Intel
8b132b_lane_eq(struct intel_dp *intel_dp,
> deadline = jiffies + msecs_to_jiffies_timeout(400);
>
> for (try = 0; try < max_tries; try++) {
> - usleep_range(delay_us, 2 * delay_us);
> + fsleep(delay_us);
>
> /*
>* The delay may get updated. The transmitter shall read the
--
Jani Nikula, Intel
On Tue, 10 Sep 2024, Ville Syrjälä wrote:
> On Tue, Sep 10, 2024 at 04:28:50PM +0300, Jani Nikula wrote:
>> Adhere to the style described at the top of i915_reg.h.
>>
>> Signed-off-by: Jani Nikula
>
> Reviewed-by: Ville Syrjälä
Thanks, pushed the series to din. Fee
c.c | 40 +-
> drivers/gpu/drm/i915/display/intel_hdcp_gsc.h | 9 +-
> .../drm/i915/display/intel_hdcp_gsc_message.c | 44 +-
> .../drm/i915/display/intel_hdcp_gsc_message.h | 3 +-
> drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 44 +-
> 6 files changed, 422 insertions(+), 407 deletions(-)
--
Jani Nikula, Intel
On Tue, 10 Sep 2024, Marc Gonzalez wrote:
> On 10/09/2024 16:51, Dmitry Baryshkov wrote:
>
>> On Tue, Sep 10, 2024 at 01:03:43PM GMT, Jani Nikula wrote:
>>
>>> Building with clang and and W=1 leads to warning about unused
>>> pll_cmp_to_fdata(). Fix
On Wed, 11 Sep 2024, Laurent Pinchart wrote:
> Jiapeng Chong has sent a patch to drop the function, and I've reviewed
> it. See
> https://lore.kernel.org/r/20240619075436.86407-1-jiapeng.ch...@linux.alibaba.com
Even better, thanks!
BR,
Jani.
--
Jani Nikula, Intel
> + #include
>>
>> #include "soc/intel_dram.h"
>> #include "i915_drv.h" /* FIXME: HAS_DISPLAY() depends on this
>> */
>
> This is now a conflict between the drm-intel and drm trees.
I backmerged drm-next to drm-intel-next, resolving the conflict.
Thanks,
Jani.
--
Jani Nikula, Intel
On Tue, 10 Sep 2024, Doug Anderson wrote:
> Hi,
>
> On Tue, Sep 10, 2024 at 3:04 AM Jani Nikula wrote:
>>
>> Building with clang, W=1, CONFIG_PM=n and CONFIG_OF_GPIO=n leads to
>> warning about unused ti_sn_pwm_pin_request() and
>> ti_sn_pwm_pin_relea
On Tue, 10 Sep 2024, Geert Uytterhoeven wrote:
> Hi Jani,
>
> On Tue, Sep 10, 2024 at 12:06 PM Jani Nikula wrote:
>> Building with clang and and W=1 leads to warning about unused
>> rcar_cmm_read(). Fix by annotating it with __maybe_unused.
>>
>> See also co
On Tue, 10 Sep 2024, Ville Syrjälä wrote:
> On Mon, Sep 09, 2024 at 09:58:51PM +0300, Jani Nikula wrote:
>> We've split out register macros from i915_reg.h functionally, but it has
>> slowed down quite a bit. At this stage, split out all the display regs
>> from i915_r
Clean up some whitespace.
Reviewed-by: Ville Syrjälä
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 5 -
1 file changed, 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 6dbaaca1ab4c..7396fc630e29 100644
--- a/drivers
Not needed. Remove.
Reviewed-by: Ville Syrjälä
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 19 ---
1 file changed, 19 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 70864cf96102..6dbaaca1ab4c 100644
--- a
Adhere to the style described at the top of i915_reg.h.
Reviewed-by: Ville Syrjälä
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 82 ++---
1 file changed, 44 insertions(+), 38 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers
Adhere to the style described at the top of i915_reg.h.
Reviewed-by: Ville Syrjälä
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 23 +--
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915
Adhere to the style described at the top of i915_reg.h.
v2: Rebase with the indentation fixed (Ville)
Reviewed-by: Ville Syrjälä # v1
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 77 ++---
1 file changed, 43 insertions(+), 34 deletions(-)
diff
Adhere to the style described at the top of i915_reg.h.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 2f09145b9791
Adhere to the style described at the top of i915_reg.h.
Reviewed-by: Ville Syrjälä
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 32 +---
1 file changed, 17 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu
Adhere to the style described at the top of i915_reg.h.
Reviewed-by: Ville Syrjälä
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 64 -
1 file changed, 31 insertions(+), 33 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers
Adhere to the style described at the top of i915_reg.h.
Reviewed-by: Ville Syrjälä
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/display/intel_psr_regs.h | 1 +
drivers/gpu/drm/i915/i915_reg.h | 51 ++-
2 files changed, 29 insertions(+), 23 deletions
Adhere to the style described at the top of i915_reg.h.
Reviewed-by: Ville Syrjälä
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 39 ++---
1 file changed, 21 insertions(+), 18 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers
Adhere to the style described at the top of i915_reg.h.
Reviewed-by: Ville Syrjälä
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 11 ---
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
Amended style fixes from [1] in preparation of doing the
display/non-display register split. This doesn't include the actual
split patch from that series, just the prep.
BR,
Jani.
[1] https://lore.kernel.org/r/cover.1725908151.git.jani.nik...@intel.com
Jani Nikula (11):
drm/i915/reg
\
>> MACRO__(0x7D51, ## __VA_ARGS__), \
>> MACRO__(0x7D67, ## __VA_ARGS__), \
>> -MACRO__(0x7DD1, ## __VA_ARGS__)
>> + MACRO__(0x7DD1, ## __VA_ARGS__), \
>> +MACRO__(0xB640, ## __VA_ARGS__)
>>
>> /* MTL */
>> #define INTEL_MTL_IDS(MACRO__, ...) \
--
Jani Nikula, Intel
On Thu, 05 Sep 2024, Jani Nikula wrote:
> On Wed, 04 Sep 2024, Nathan Chancellor wrote:
>> I ran this through my test matrix and this is what it found (across
>> various configuration options, I can give specifics as necessary):
>
> Thanks, I didn't really expect thi
Building with clang and and W=1 leads to warning about unused
dw_hdmi_dwc_write_bits(). Fix by annotating it with __maybe_unused.
See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
inline functions for W=1 build").
Signed-off-by: Jani Nikula
---
Cc: Neil Arm
Building with clang and and W=1 leads to warning about unused
pvr_fw_version_packed(). Fix by annotating it with __maybe_unused.
See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
inline functions for W=1 build").
Signed-off-by: Jani Nikula
---
Cc: Frank Binns
We enable most W=1 warnings by default subsystem wide. Also enable
warnings on unused static inlines when building with clang.
See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
inline functions for W=1 build").
Cc: Nathan Chancellor
Signed-off-by: J
Building with clang and and W=1 leads to warning about unused
pll_cmp_to_fdata(). Fix by annotating it with __maybe_unused.
See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
inline functions for W=1 build").
Signed-off-by: Jani Nikula
---
Cc: Rob Clark
C
build").
Signed-off-by: Jani Nikula
---
Cc: Douglas Anderson
Cc: Andrzej Hajda
Cc: Neil Armstrong
Cc: Robert Foss
Cc: Laurent Pinchart
Cc: Jonas Karlman
Cc: Jernej Skrabec
Cc: Nathan Chancellor
---
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletion
r W=1 build").
Signed-off-by: Jani Nikula
---
Cc: Anitha Chrisanthus
Cc: Edmund Dea
Cc: Nathan Chancellor
---
drivers/gpu/drm/kmb/kmb_dsi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/kmb/kmb_dsi.c b/drivers/gpu/drm/kmb/kmb_dsi.c
index cf
Building with clang and and W=1 leads to warning about unused
rcar_cmm_read(). Fix by annotating it with __maybe_unused.
See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
inline functions for W=1 build").
Signed-off-by: Jani Nikula
---
Cc: Laurent Pinchart
i.nik...@intel.com
Jani Nikula (8):
drm/bridge: dw-hdmi-i2s: annotate hdmi_read() with __maybe_unused
drm: renesas: rcar-du: annotate rcar_cmm_read() with __maybe_unused
drm/kmb: annotate set_test_mode_src_osc_freq_target_{low,hi}_bits()
with __maybe_unused
drm/bridge: ti-sn65
Building with clang and and W=1 leads to warning about unused
hdmi_read(). Fix by annotating it with __maybe_unused.
See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
inline functions for W=1 build").
Signed-off-by: Jani Nikula
---
Cc: Andrzej Hajda
Cc: Neil
t i915_hdcp_ops gsc_hdcp_ops = {
> .close_hdcp_session = intel_hdcp_gsc_close_session,
> };
>
> -int intel_hdcp_gsc_init(struct xe_device *xe)
> +int intel_hdcp_gsc_init(struct intel_display *display)
> {
> struct i915_hdcp_arbiter *data;
> + struct xe_device *xe = to_xe_device(display->drm);
> int ret;
>
> data = kzalloc(sizeof(*data), GFP_KERNEL);
> if (!data)
> return -ENOMEM;
>
> - mutex_lock(&xe->display.hdcp.hdcp_mutex);
> - xe->display.hdcp.arbiter = data;
> - xe->display.hdcp.arbiter->hdcp_dev = xe->drm.dev;
> - xe->display.hdcp.arbiter->ops = &gsc_hdcp_ops;
> + mutex_lock(&display->hdcp.hdcp_mutex);
> + display->hdcp.arbiter = data;
> + display->hdcp.arbiter->hdcp_dev = display->drm->dev;
> + display->hdcp.arbiter->ops = &gsc_hdcp_ops;
> ret = intel_hdcp_gsc_hdcp2_init(xe);
This needs to accept display as well. Or are you going to do the full
xe_hdcp_gsc.c conversion in a separate patch?
BR,
Jani.
> if (ret)
> kfree(data);
>
> - mutex_unlock(&xe->display.hdcp.hdcp_mutex);
> + mutex_unlock(&display->hdcp.hdcp_mutex);
>
> return ret;
> }
>
> -void intel_hdcp_gsc_fini(struct xe_device *xe)
> +void intel_hdcp_gsc_fini(struct intel_display *display)
> {
> struct intel_hdcp_gsc_message *hdcp_message =
> - xe->display.hdcp.hdcp_message;
> - struct i915_hdcp_arbiter *arb = xe->display.hdcp.arbiter;
> + display->hdcp.hdcp_message;
> + struct i915_hdcp_arbiter *arb = display->hdcp.arbiter;
>
> if (hdcp_message) {
> xe_bo_unpin_map_no_vm(hdcp_message->hdcp_bo);
> kfree(hdcp_message);
> - xe->display.hdcp.hdcp_message = NULL;
> + display->hdcp.hdcp_message = NULL;
> }
>
> kfree(arb);
> - xe->display.hdcp.arbiter = NULL;
> + display->hdcp.arbiter = NULL;
> }
>
> static int xe_gsc_send_sync(struct xe_device *xe,
--
Jani Nikula, Intel
On Tue, 10 Sep 2024, Suraj Kandpal wrote:
> Move to using intel_display wherever possible in intel_hdcp.c
> as a part of code refactor.
Overall good stuff, thanks for doing this!
A bunch of nitpicks inline, almost all of them boil down to these two:
- to_intel_display() uses _Generic(), pass in
On Tue, 10 Sep 2024, Ville Syrjälä wrote:
> On Mon, Sep 09, 2024 at 09:58:57PM +0300, Jani Nikula wrote:
>> Adhere to the style described at the top of i915_reg.h.
>>
>> Signed-off-by: Jani Nikula
>> ---
>> drivers/gpu/drm/i915/i915_reg.h | 77 +++
On Mon, 09 Sep 2024, Ville Syrjälä wrote:
> On Mon, Sep 09, 2024 at 09:59:02PM +0300, Jani Nikula wrote:
>> Split out display/intel_display_regs.h from i915_reg.h. This is done
>> programmatically.
>>
>> Register macros in i915_reg.h are considered in chunks separate
On Mon, 09 Sep 2024, Rodrigo Vivi wrote:
> On Mon, Sep 09, 2024 at 04:32:57PM +0300, Jani Nikula wrote:
>> The error state capture still handles display info at a too detailed
>> level. Start abstracting the whole display snapshot capture and printing
>> at a higher level. Mo
Clean up some whitespace.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 5 -
1 file changed, 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index f626d79bc3c0..3f4cfafd050f 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b
Not needed. Remove.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 19 ---
1 file changed, 19 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 993623710700..f626d79bc3c0 100644
--- a/drivers/gpu/drm/i915
Adhere to the style described at the top of i915_reg.h.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 23 +--
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index
Adhere to the style described at the top of i915_reg.h.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 82 ++---
1 file changed, 44 insertions(+), 38 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index
Adhere to the style described at the top of i915_reg.h.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 77 ++---
1 file changed, 43 insertions(+), 34 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index
Adhere to the style described at the top of i915_reg.h.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 64 -
1 file changed, 31 insertions(+), 33 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index
Adhere to the style described at the top of i915_reg.h.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 39 ++---
1 file changed, 21 insertions(+), 18 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index
Adhere to the style described at the top of i915_reg.h.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 32 +---
1 file changed, 17 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index
Adhere to the style described at the top of i915_reg.h.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/i915_reg.h | 11 ---
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 7a6ca695bb6a
Adhere to the style described at the top of i915_reg.h.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/display/intel_psr_regs.h | 1 +
drivers/gpu/drm/i915/i915_reg.h | 51 ++-
2 files changed, 29 insertions(+), 23 deletions(-)
diff --git a/drivers/gpu/drm
e way for further cleanups.
BR,
Jani.
Jani Nikula (11):
drm/i915/reg: fix transcoder timing register style
drm/i915/reg: fix g4x pipe data/link m/n register style
drm/i915/reg: fix pipe conf, stat etc. register style
drm/i915/reg: fix pipe data/link m/n register style
drm/i915/reg: fi
On Mon, 09 Sep 2024, Ville Syrjälä wrote:
> On Mon, Sep 09, 2024 at 03:15:37PM +0300, Jani Nikula wrote:
>> While the struct intel_pps vlv_pps_pipe and vlv_active_pipe members are
>> only relevant for VLV/CHV, we still initialize them on all platforms and
>> check them on BXT
Convert dmc error state printing to new snapshot capture/print division.
Reviewed-by: Rodrigo Vivi
Signed-off-by: Jani Nikula
---
.../drm/i915/display/intel_display_snapshot.c | 5 +++
drivers/gpu/drm/i915/display/intel_dmc.c | 39 +++
drivers/gpu/drm/i915/display
Another spin of [1].
BR,
Jani.
[1] https://lore.kernel.org/r/cover.1725372032.git.jani.nik...@intel.com
Jani Nikula (4):
drm/i915: dump display parameters captured in error state, not current
drm/i915/display: add intel_display_snapshot abstraction
drm/i915/display: move device info and
Snapshot display device and runtime info as well as display parameters
in display snapshot.
Reviewed-by: Rodrigo Vivi
Signed-off-by: Jani Nikula
---
.../drm/i915/display/intel_display_snapshot.c | 25 +++
drivers/gpu/drm/i915/i915_gpu_error.c | 10
drivers/gpu
bolting the snapshots there as well.
v3: Fix build harder for CONFIG_DRM_I915_CAPTURE_ERROR=n
v2: Fix build for CONFIG_DRM_I915_CAPTURE_ERROR=n (kernel test robot)
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/Makefile | 1 +
.../drm/i915/display/intel_display_snapshot.c
drigo Vivi
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/display/intel_display_params.c | 8 +---
drivers/gpu/drm/i915/display/intel_display_params.h | 5 ++---
drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
drivers/gpu/drm/i915/i915_gpu_error.c | 2 +-
4
nt; i++)
> + for (i = 0; i < lttpr_count; i++) {
> intel_dp_read_lttpr_phy_caps(intel_dp, dpcd, DP_PHY_LTTPR(i));
> + drm_dp_dump_lttpr_desc(&intel_dp->aux, DP_PHY_LTTPR(i));
> + }
>
> return lttpr_count;
> }
--
Jani Nikula, Intel
On Mon, 09 Sep 2024, Jani Nikula wrote:
> We need to track PPS also for non-eDP usage on VLV/CHV. Add new
> vlv_pps_pipe_init() for initializing the related parts, hiding the PPS
> pipe details inside PPS code.
>
> Signed-off-by: Jani Nikula
> ---
> drivers/gpu/drm/i915/di
On Wed, 04 Sep 2024, Ville Syrjälä wrote:
> On Wed, Sep 04, 2024 at 05:02:33PM +0300, Jani Nikula wrote:
>> Add intel_pps_dp_power_down() and move the VLV/CHV active pipe clear
>> there from intel_dp_link_down(), hiding the PPS pipe details inside PPS
>> code.
>>
&g
All the users for vlv_active_pipe() are within intel_pps.c now, and
there are already uses of g4x_dp_port_enabled() and intel_dp->output_reg
in there, so seems fine to reduce interfaces and move vlv_active_pipe()
to intel_pps.c too.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/disp
Add vlv_pps_backlight_initial_pipe() and move the VLV/CHV initial
backlight pipe logic there, hiding the PPS pipe details inside PPS code.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/display/intel_dp.c | 16 ++--
drivers/gpu/drm/i915/display/intel_pps.c | 20
Follow the naming for vlv_pps_port_disable(), as these are counterparts.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/display/g4x_dp.c| 2 +-
drivers/gpu/drm/i915/display/intel_pps.c | 5 +++--
drivers/gpu/drm/i915/display/intel_pps.h | 4 ++--
3 files changed, 6 insertions(+), 5
Add vlv_pps_port_disable() and move the VLV/CHV active pipe clear there
from intel_dp_link_down(), hiding the PPS pipe details inside PPS code.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/display/g4x_dp.c| 8 ++--
drivers/gpu/drm/i915/display/intel_pps.c | 12
We need to track PPS also for non-eDP usage on VLV/CHV. Add new
vlv_pps_pipe_reset() for resetting the related parts, hiding the PPS
pipe details inside PPS code.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/display/g4x_dp.c| 8 ++--
drivers/gpu/drm/i915/display/intel_pps.c | 9
We need to track PPS also for non-eDP usage on VLV/CHV. Add new
vlv_pps_pipe_init() for initializing the related parts, hiding the PPS
pipe details inside PPS code.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/display/intel_dp.c | 6 ++
drivers/gpu/drm/i915/display/intel_pps.c | 7
While the struct intel_pps vlv_pps_pipe and vlv_active_pipe members are
only relevant for VLV/CHV, we still initialize them on all platforms and
check them on BXT/GLK. Wrap all access inside VLV/CHV checks for
consistency.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/display/intel_dp.c
The pps_pipe and active_pipe members of struct intel_pps are only
relevant on VLV/CHV. Prefix them with vlv_.
Note that there are still a few cases where they're accessed on
non-VLV/CHV paths. We'll fix them separately.
Signed-off-by: Jani Nikula
---
drivers/gpu/drm/i915/displa
v2 of [1], and largely changed to isolate VLV/CHV stuff too.
There are a couple of stragglers accessing intel_dp->pps directly, but
this is progress.
BR,
Jani.
[1] https://lore.kernel.org/r/cover.1725458428.git.jani.nik...@intel.com
Jani Nikula (8):
drm/i915/pps: add vlv_ prefix
On Thu, 05 Sep 2024, "Kulkarni, Vandita" wrote:
>> -Original Message-
>> From: Intel-gfx On Behalf Of Jani
>> Nikula
>> Sent: Thursday, September 5, 2024 4:55 PM
>> To: intel-gfx@lists.freedesktop.org
>> Cc: Nikula, Jani ; sta...@vger.ker
On Fri, 06 Sep 2024, Ville Syrjala wrote:
> From: Ville Syrjälä
>
> CodingStyle says when one branch of an if ladder is braced
> then all of them should be. Make it so.
>
> Signed-off-by: Ville Syrjälä
Reviewed-by: Jani Nikula
> ---
> drivers/gpu/drm/i915/display/in
nitpicks inline, but overall
Reviewed-by: Jani Nikula
[snip]
> @@ -2685,20 +2712,21 @@ intel_set_cdclk_post_plane_update(struct
> intel_atomic_state *state)
> else
> pipe = INVALID_PIPE;
>
> - drm_WARN_ON(&i915->drm, !new_cdclk_state-&g
i915)
> +{
> + return XE_WA(xe_root_mmio_gt(i915), 14021768792);
> +}
> diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules
> b/drivers/gpu/drm/xe/xe_wa_oob.rules
> index 920ca5060146..a7cc2c2d98d0 100644
> --- a/drivers/gpu/drm/xe/xe_wa_oob.rules
> +++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
> @@ -37,3 +37,4 @@
> 16023588340 GRAPHICS_VERSION(2001)
> 14019789679 GRAPHICS_VERSION(1255)
> GRAPHICS_VERSION_RANGE(1270, 2004)
> +14021768792 PLATFORM(BATTLEMAGE), GRAPHICS_STEP(C0, FOREVER)
--
Jani Nikula, Intel
On Wed, 04 Sep 2024, Ville Syrjälä wrote:
> On Wed, Sep 04, 2024 at 03:53:01PM +0300, Jani Nikula wrote:
>> Convert intel_atomic_get_{old,new}_cdclk_state() and
>> intel_atomic_get_{old,new}_dbuf_state() to use to_intel_display()
>> instead of to_i915().
>>
&g
On Wed, 04 Sep 2024, "Dixit, Ashutosh" wrote:
> On Wed, 04 Sep 2024 07:52:18 -0700, Jani Nikula wrote:
>>
>> Prefer IS_ENABLED() instead of defined() for checking whether a kconfig
>> option is enabled.
>
> Reviewed-by: Ashutosh Dixit
Thanks, pushed to di
101 - 200 of 4708 matches
Mail list logo