Re: [PATCH v2 1/2] drm/ttm: Change ttm_device_init to use a struct instead of multiple bools

2024-10-02 Thread Jani Nikula
another bool flag parameter to the > function. Funny, the other day Ville and I were throwing ideas around, and we talked about something like this to implement keyword arguments in C. :) Cheers, Jani. -- Jani Nikula, Intel

Re: [PATCH 07/28] drm/i915: Use video aperture helpers

2024-10-02 Thread Jani Nikula
On Mon, 30 Sep 2024, Thomas Zimmermann wrote: > DRM's aperture functions have long been implemented as helpers > under drivers/video/ for use with fbdev. Avoid the DRM wrappers by > calling the video functions directly. > > Signed-off-by: Thomas Zimmermann > Cc: Ja

Re: [PATCH v4 0/6] DRM_SET_CLIENT_NAME ioctl

2024-09-27 Thread Jani Nikula
ditional comments on this I'm going to pick it > up and merge it through drm-misc-next by the end of today. AFAICT the userspace is not reviewed and ready for merging [1]. BR, Jani. [1] https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1428 -- Jani Nikula, Intel

Re: [PATCH] drm/display/dsc: Refactor MST DSC Determination Policy

2024-09-20 Thread Jani Nikula
> + goto out_dsc_fail; > + } > > - return NULL; > + return; > + > +out_dsc_fail: > + port->dsc_aux = NULL; > + port->dsc_passthrough_aux = NULL; > + return; > } > EXPORT_SYMBOL(drm_dp_mst_dsc_aux_for_port); > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c > b/drivers/gpu/drm/i915/display/intel_dp.c > index a1fcedfd404b..d39a7c6f5bfa 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -3219,7 +3219,7 @@ intel_dp_sink_set_dsc_passthrough(const struct > intel_connector *connector, > { > struct drm_i915_private *i915 = to_i915(connector->base.dev); > struct drm_dp_aux *aux = connector->port ? > - connector->port->passthrough_aux : NULL; > + connector->port->dsc_passthrough_aux : NULL; > > if (!aux) > return; > diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c > b/drivers/gpu/drm/i915/display/intel_dp_mst.c > index 15541932b809..73cb1c673525 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c > +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c > @@ -1699,7 +1699,8 @@ static struct drm_connector > *intel_dp_add_mst_connector(struct drm_dp_mst_topolo > > intel_dp_init_modeset_retry_work(intel_connector); > > - intel_connector->dp.dsc_decompression_aux = > drm_dp_mst_dsc_aux_for_port(port); > + drm_dp_mst_dsc_aux_for_port(port); > + intel_connector->dp.dsc_decompression_aux = port->dsc_aux; > intel_dp_mst_read_decompression_port_dsc_caps(intel_dp, > intel_connector); > intel_connector->dp.dsc_hblank_expansion_quirk = > detect_dsc_hblank_expansion_quirk(intel_connector); > diff --git a/include/drm/display/drm_dp.h b/include/drm/display/drm_dp.h > index a6f8b098c56f..fa454506866b 100644 > --- a/include/drm/display/drm_dp.h > +++ b/include/drm/display/drm_dp.h > @@ -980,6 +980,7 @@ > #define DP_BRANCH_REVISION_START0x509 > #define DP_BRANCH_HW_REV0x509 > #define DP_BRANCH_SW_REV0x50A > +#define DP_BRANCH_VENDOR_SPECIFIC_START 0x50C > > /* Link/Sink Device Power Control */ > #define DP_SET_POWER0x600 > diff --git a/include/drm/display/drm_dp_helper.h > b/include/drm/display/drm_dp_helper.h > index 279624833ea9..5eb583004d00 100644 > --- a/include/drm/display/drm_dp_helper.h > +++ b/include/drm/display/drm_dp_helper.h > @@ -643,6 +643,7 @@ struct drm_dp_dpcd_ident { > u8 hw_rev; > u8 sw_major_rev; > u8 sw_minor_rev; > + u8 vendor_data[4]; > } __packed; > > /** > @@ -711,6 +712,13 @@ enum drm_dp_quirk { >* requires enabling DSC. >*/ > DP_DPCD_QUIRK_HBLANK_EXPANSION_REQUIRES_DSC, > + /** > + * @DP_DPCD_QUIRK_DSC_MUST_ROOT_DECOMPRESSION: > + * > + * The device has internal virutual dpcd with dsc decoding cap, > + * but dsc decoding must be done at root mstb. > + */ > + DP_DPCD_QUIRK_DSC_MUST_ROOT_DECOMPRESSION, > }; > > /** > diff --git a/include/drm/display/drm_dp_mst_helper.h > b/include/drm/display/drm_dp_mst_helper.h > index f6a1cbb0f600..b04ca4a97af2 100644 > --- a/include/drm/display/drm_dp_mst_helper.h > +++ b/include/drm/display/drm_dp_mst_helper.h > @@ -135,7 +135,8 @@ struct drm_dp_mst_port { >*/ > struct drm_dp_mst_branch *mstb; > struct drm_dp_aux aux; /* i2c bus for this port? */ > - struct drm_dp_aux *passthrough_aux; > + struct drm_dp_aux *dsc_aux; > + struct drm_dp_aux *dsc_passthrough_aux; > struct drm_dp_mst_branch *parent; > > struct drm_connector *connector; > @@ -956,7 +957,7 @@ bool drm_dp_mst_port_is_logical(struct drm_dp_mst_port > *port) > } > > struct drm_dp_aux *drm_dp_mst_aux_for_parent(struct drm_dp_mst_port *port); > -struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port); > +void drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port); > > static inline struct drm_dp_mst_topology_state * > to_drm_dp_mst_topology_state(struct drm_private_state *state) -- Jani Nikula, Intel

Re: [PATCH] drm/amdgpu: enable -Wformat-truncation

2024-09-05 Thread Jani Nikula
drm subsystem Makefile > subdir-ccflags-y += -Wno-override-init > +subdir-ccflags-y += $(call cc-option, -Wformat-truncation) > subdir-ccflags-$(CONFIG_DRM_AMDGPU_WERROR) += -Werror > > amdgpu-y := amdgpu_drv.o -- Jani Nikula, Intel

Re: [RESEND 3/3] drm/amd/display: switch to guid_gen() to generate valid GUIDs

2024-08-30 Thread Jani Nikula
On Wed, 28 Aug 2024, Harry Wentland wrote: > On 2024-08-28 09:58, Alex Deucher wrote: >> On Wed, Aug 28, 2024 at 9:53 AM Jani Nikula wrote: >>> >>> On Wed, 28 Aug 2024, Daniel Vetter wrote: >>>> On Mon, Aug 12, 2024 at 03:23:12PM +0300, Jani Nikula wrote:

Re: [RESEND 3/3] drm/amd/display: switch to guid_gen() to generate valid GUIDs

2024-08-29 Thread Jani Nikula
On Wed, 28 Aug 2024, Daniel Vetter wrote: > On Mon, Aug 12, 2024 at 03:23:12PM +0300, Jani Nikula wrote: >> Instead of just smashing jiffies into a GUID, use guid_gen() to generate >> RFC 4122 compliant GUIDs. >> >> Signed-off-by: Jani Nikula >> >>

Re: [RESEND 3/3] drm/amd/display: switch to guid_gen() to generate valid GUIDs

2024-08-29 Thread Jani Nikula
On Wed, 28 Aug 2024, Hamza Mahfooz wrote: > On 8/12/24 08:23, Jani Nikula wrote: >> Instead of just smashing jiffies into a GUID, use guid_gen() to generate >> RFC 4122 compliant GUIDs. >> >> Signed-off-by: Jani Nikula >> >> --- > > Acked-by: H

Re: [RESEND 3/3] drm/amd/display: switch to guid_gen() to generate valid GUIDs

2024-08-29 Thread Jani Nikula
On Wed, 28 Aug 2024, Jani Nikula wrote: > On Wed, 28 Aug 2024, Hamza Mahfooz wrote: >> On 8/12/24 08:23, Jani Nikula wrote: >>> Instead of just smashing jiffies into a GUID, use guid_gen() to generate >>> RFC 4122 compliant GUIDs. >>> >>> Signed-off

Re: [PATCH] drm/radeon: Switch radeon_connector to struct drm_edid

2024-08-19 Thread Jani Nikula
eparate digital and > analog connectors >* with a shared ddc line (often vga + hdmi) > diff --git a/drivers/gpu/drm/radeon/radeon_mode.h > b/drivers/gpu/drm/radeon/radeon_mode.h > index 421c83fc70dc..ae1d91cd93ec 100644 > --- a/drivers/gpu/drm/radeon/radeon_mode.h > +++ b/drivers/gpu/drm/radeon/radeon_mode.h > @@ -38,7 +38,6 @@ > #include > #include > > -struct edid; > struct drm_edid; > struct radeon_bo; > struct radeon_device; > @@ -521,7 +520,7 @@ struct radeon_connector { > bool use_digital; > /* we need to mind the EDID between detect > and get modes due to analog/digital/tvencoder */ > - struct edid *edid; > + const struct drm_edid *drm_edid; > void *con_priv; > bool dac_load_detect; > bool detected_by_load; /* if the connection status was determined by > load */ > @@ -843,7 +842,7 @@ radeon_get_crtc_scanout_position(struct drm_crtc *crtc, > bool in_vblank_irq, >const struct drm_display_mode *mode); > > extern bool radeon_combios_check_hardcoded_edid(struct radeon_device *rdev); > -extern struct edid * > +extern const struct drm_edid * > radeon_bios_get_hardcoded_edid(struct radeon_device *rdev); > extern bool radeon_atom_get_clock_info(struct drm_device *dev); > extern bool radeon_combios_get_clock_info(struct drm_device *dev); > > --- > base-commit: 19cff16559a4f2d763faf4f8392bf86d3a21b93c > change-id: 20240818-radeon-drm_edid-9f0cec36e227 > > Best regards, -- Jani Nikula, Intel

Re: [PATCH 10/12] drm/edid: add a helper to compare two EDIDs

2024-08-19 Thread Jani Nikula
rm_edid *drm_edid_dup(const struct drm_edid *drm_edid); > void drm_edid_free(const struct drm_edid *drm_edid); > +bool drm_edid_equal(const struct drm_edid *drm_edid_a, const struct drm_edid > *drm_edid_b); > bool drm_edid_valid(const struct drm_edid *drm_edid); > const struct edid *drm_edid_raw(const struct drm_edid *drm_edid); > const struct drm_edid *drm_edid_read(struct drm_connector *connector); -- Jani Nikula, Intel

Re: [PATCH 09/12] drm/amd/display: Switch amdgpu_dm_connector to struct drm_edid

2024-08-19 Thread Jani Nikula
ector->mst_status, > MST_REMOTE_EDID, true); > } > @@ -361,7 +362,7 @@ static int dm_dp_mst_get_modes(struct drm_connector > *connector) > .sink_signal = SIGNAL_TYPE_DISPLAY_PORT_MST }; > dc_sink = dc_link_add_remote_sink( > aconnector->dc_link, > - aconnector->edid, > + drm_edid_raw(aconnector->drm_edid), > &init_params); > > if (!dc_sink) { > @@ -403,7 +404,7 @@ static int dm_dp_mst_get_modes(struct drm_connector > *connector) > > if (aconnector->dc_sink) { > amdgpu_dm_update_freesync_caps( > - connector, aconnector->edid); > + connector, aconnector->drm_edid); > > #if defined(CONFIG_DRM_AMD_DC_FP) > if (!validate_dsc_caps_on_connector(aconnector)) > @@ -417,10 +418,9 @@ static int dm_dp_mst_get_modes(struct drm_connector > *connector) > } > } > > - drm_connector_update_edid_property( > - &aconnector->base, aconnector->edid); > + drm_edid_connector_update(&aconnector->base, aconnector->drm_edid); > > - ret = drm_add_edid_modes(connector, aconnector->edid); > + ret = drm_edid_connector_add_modes(connector); > > return ret; > } > @@ -498,7 +498,7 @@ dm_dp_mst_detect(struct drm_connector *connector, > > dc_sink_release(aconnector->dc_sink); > aconnector->dc_sink = NULL; > - aconnector->edid = NULL; > + aconnector->drm_edid = NULL; > aconnector->dsc_aux = NULL; > port->passthrough_aux = NULL; -- Jani Nikula, Intel

Re: [PATCH 03/12] drm/edid: constify argument of drm_edid_is_valid()

2024-08-19 Thread Jani Nikula
d, int block, bool print_bad_edid, > bool *edid_corrupt); > -bool drm_edid_is_valid(struct edid *edid); > +bool drm_edid_is_valid(const struct edid *edid); > void drm_edid_get_monitor_name(const struct edid *edid, char *name, > int buflen); > struct drm_display_mode *drm_mode_find_dmt(struct drm_device *dev, -- Jani Nikula, Intel

Re: [PATCH 83/86] drm/{i915,xe}: Run DRM default client setup

2024-08-16 Thread Jani Nikula
nd should not include intel_fbdev.h directly. There's a xe_display_driver_set_hooks() call that is the right place to set the driver->fbdev_probe hook. It's a bit of a bummer in the sense that this prevents struct drm_driver from being const, but that's how it already is for xe. BR, Jani. -- Jani Nikula, Intel

Re: [PATCH v4 1/3] drm: Add panel backlight quirks

2024-08-13 Thread Jani Nikula
uot;Quirks for panel backlight overrides"); > +MODULE_LICENSE("GPL"); > diff --git a/include/drm/drm_utils.h b/include/drm/drm_utils.h > index 70775748d243..267711028dd4 100644 > --- a/include/drm/drm_utils.h > +++ b/include/drm/drm_utils.h > @@ -11,9 +11,12 @@ > #define __DRM_UTILS_H__ > > #include > +#include Please prefer forward declarations over includes where possible. Here, struct drm_edid; is sufficient. BR, Jani. > > int drm_get_panel_orientation_quirk(int width, int height); > > +int drm_get_panel_min_brightness_quirk(const struct drm_edid *edid); > + > signed long drm_timeout_abs_to_jiffies(int64_t timeout_nsec); > > #endif -- Jani Nikula, Intel

[RESEND 1/3] drm/mst: switch to guid_t type for GUID

2024-08-12 Thread Jani Nikula
The kernel has a guid_t type for GUIDs. Switch to using it, but avoid any functional changes here. Signed-off-by: Jani Nikula --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +- drivers/gpu/drm/display/drm_dp_mst_topology.c | 67 +++ include/drm/display

[RESEND 2/3] drm/mst: switch to guid_gen() to generate valid GUIDs

2024-08-12 Thread Jani Nikula
Instead of just smashing jiffies into a GUID, use guid_gen() to generate RFC 4122 compliant GUIDs. Signed-off-by: Jani Nikula --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 10 +- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/gpu/drm/display

[RESEND 3/3] drm/amd/display: switch to guid_gen() to generate valid GUIDs

2024-08-12 Thread Jani Nikula
Instead of just smashing jiffies into a GUID, use guid_gen() to generate RFC 4122 compliant GUIDs. Signed-off-by: Jani Nikula --- Side note, it baffles me why amdgpu has a copy of this instead of plumbing it into drm mst code. --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 23

Re: [PATCH v5 0/9] drm/amd/display: switch amdgpu_dm_connector to use struct drm_edid

2024-08-08 Thread Jani Nikula
addressing Alex Hung's feedback > from the previous version. FWIW, I glanced through this and didn't spot anything out of the ordinary. That said, I also didn't do detailed review of it, so I'm not providing my R-b. BR, Jani. -- Jani Nikula, Intel

Re: [PATCH v3 2/2] drm/amd: Add power_saving_policy drm property to eDP connectors

2024-08-01 Thread Jani Nikula
On Thu, 01 Aug 2024, Thomas Zimmermann wrote: > Hi > > Am 01.08.24 um 14:33 schrieb Jani Nikula: >> On Mon, 01 Jul 2024, Xaver Hugl wrote: >>> Am Do., 20. Juni 2024 um 22:22 Uhr schrieb Xaver Hugl >>> : >>>> Merging can only happen once a real wor

Re: [PATCH v3 2/2] drm/amd: Add power_saving_policy drm property to eDP connectors

2024-08-01 Thread Jani Nikula
nging the power saving level > "works" but the screen blanks for a moment (might just be a single > frame) and reading from the file returns zero again, with the visuals > and backlight level unchanged as well. -- Jani Nikula, Intel

Re: [PATCH 2/9] drm/i915: Use backlight power constants

2024-08-01 Thread Jani Nikula
On Wed, 31 Jul 2024, Thomas Zimmermann wrote: > Hi > > Am 31.07.24 um 14:56 schrieb Jani Nikula: >> On Wed, 31 Jul 2024, Thomas Zimmermann wrote: >>> Replace FB_BLANK_ constants with their counterparts from the >>> backlight subsystem. The values are ident

Re: [PATCH v3 0/2] drm: minimum backlight overrides and implementation for amdgpu

2024-07-31 Thread Jani Nikula
rightness override > > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 6 > drivers/gpu/drm/drm_connector.c | 34 > +++ > include/drm/drm_connector.h | 2 ++ > 3 files changed, 42 insertions(+) > --- > base-commit: 36821612eb3091a21f7f4a907b497064725080c3 > change-id: 20240610-amdgpu-min-backlight-quirk-8402fd8e736a > > Best regards, -- Jani Nikula, Intel

Re: [PATCH 2/9] drm/i915: Use backlight power constants

2024-07-31 Thread Jani Nikula
On Wed, 31 Jul 2024, Thomas Zimmermann wrote: > Replace FB_BLANK_ constants with their counterparts from the > backlight subsystem. The values are identical, so there's no > change in functionality or semantics. > > Signed-off-by: Thomas Zimmermann > Cc: Jani Nikula &

Re: [PATCH] drm/edid: add CTA Video Format Data Block support

2024-07-31 Thread Jani Nikula
nfo->vics = NULL; > info->vics_len = 0; > @@ -6849,6 +7259,21 @@ static int add_displayid_detailed_modes(struct > drm_connector *connector, > return num_modes; > } > > +static int add_ovt_modes(struct drm_connector *connector) > +{ > + struct drm_display_info *info = &connector->display_info; > + int i; > + > + for (i = 0; i < info->num_ovt_modes; i++) { > + drm_mode_probed_add(connector, info->ovt_modes[i]); > + info->ovt_modes[i] = NULL; > + } > + > + info->num_ovt_modes = 0; > + > + return i; > +} > + > static int _drm_edid_connector_add_modes(struct drm_connector *connector, >const struct drm_edid *drm_edid) > { > @@ -6872,6 +7297,7 @@ static int _drm_edid_connector_add_modes(struct > drm_connector *connector, >* >* XXX order for additional mode types in extension blocks? >*/ > + num_modes += add_ovt_modes(connector); Why first? > num_modes += add_detailed_modes(connector, drm_edid); > num_modes += add_cvt_modes(connector, drm_edid); > num_modes += add_standard_modes(connector, drm_edid); > diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h > index 5ad735253413..35b5eb344ea8 100644 > --- a/include/drm/drm_connector.h > +++ b/include/drm/drm_connector.h > @@ -829,6 +829,18 @@ struct drm_display_info { >*/ > u32 max_dsc_bpp; > > + /** > + * @ovt_modes: Array of @num_ovt_modes OVT modes. Internal to EDID > + * parsing. > + */ > + struct drm_display_mode **ovt_modes; > + > + /** > + * @num_ovt_modes: Number of elements in @ovt_modes. Internal to EDID > + * parsing. > + */ > + int num_ovt_modes; > + I really hope we can get rid of this. > /** >* @vics: Array of vics_len VICs. Internal to EDID parsing. >*/ -- Jani Nikula, Intel

Re: [PATCH v2 2/2] drm/radeon: convert bios_hardcoded_edid to drm_edid

2024-07-29 Thread Jani Nikula
On Fri, 26 Jul 2024, Alex Deucher wrote: > Applied the series. Thanks! Ah, replied to patch 1 before noticing this. Never mind about the bikeshedding. :) BR, Jani. -- Jani Nikula, Intel

Re: [PATCH v2 1/2] drm/amdgpu: convert bios_hardcoded_edid to drm_edid

2024-07-29 Thread Jani Nikula
pu_device *adev = (struct amdgpu_device *)handle; > > - kfree(adev->mode_info.bios_hardcoded_edid); > + drm_edid_free(adev->mode_info.bios_hardcoded_edid); > > drm_kms_helper_poll_fini(adev_to_drm(adev)); > > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > index dc73e301d937..a6a3adf2ae13 100644 > --- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c > @@ -2766,7 +2766,7 @@ static int dce_v8_0_sw_fini(void *handle) > { > struct amdgpu_device *adev = (struct amdgpu_device *)handle; > > - kfree(adev->mode_info.bios_hardcoded_edid); > + drm_edid_free(adev->mode_info.bios_hardcoded_edid); > > drm_kms_helper_poll_fini(adev_to_drm(adev)); -- Jani Nikula, Intel

Re: [PATCH v7 1/2] drm/buddy: Add start address support to trim function

2024-07-24 Thread Jani Nikula
BIT(2) > #define DRM_BUDDY_CLEAR_ALLOCATION BIT(3) > #define DRM_BUDDY_CLEAREDBIT(4) > +#define DRM_BUDDY_TRIM_DISABLE BIT(5) > > struct drm_buddy_block { > #define DRM_BUDDY_HEADER_OFFSET GENMASK_ULL(63, 12) > @@ -155,6 +156,7 @@ int drm_buddy_alloc_blocks(struct drm_buddy *mm, > unsigned long flags); > > int drm_buddy_block_trim(struct drm_buddy *mm, > + u64 *start, >u64 new_size, >struct list_head *blocks); > > > base-commit: b27d70e1042bf6a31ba7e5acf58b61c9cd28f95b -- Jani Nikula, Intel

Re: [PATCH v2 0/3] drm: backlight quirk infrastructure and lower minimum for Framework AMD 13

2024-07-24 Thread Jani Nikula
ely. > > Right, so I think this should be investigated closer and then get > framework to issue a BIOS fix, not add a quirk mechanism to the kernel. > > IIRC the amdgpu driver will use AMDGPU_DM_DEFAULT_MIN_BACKLIGHT when > that setting is 0 in the VBT. > >> >>> The minimum brightness override set this way will still need hooking up >>> in each driver separately but by using the video=eDP-1:... mechanism >>> we can document how to do this in driver independent manner. since >>> I know there have been multiple requests for something like this in >>> the past I believe that having a single uniform way for users to do this >>> will be good. >>> >>> Alternatively we could have each driver have a driver specific module- >>> parameter for this. Either way I think we need some way for users to >>> override this as a config/setting tweak rather then use quirks for this. >> >> This also seems much too complicated for normal users. > > I agree that having a uniform way is better then having per driver > module options. > > Regards, > > Hans > -- Jani Nikula, Intel

Re: [PATCH v7 2/9] drm: Support per-plane async flip configuration

2024-06-18 Thread Jani Nikula
lue of this member? If you don't document it, people will find creative uses for this. BR, Jani. > + bool async_flip; > }; > > #define obj_to_plane(x) container_of(x, struct drm_plane, base) -- Jani Nikula, Intel

Re: [PATCH v2] drm/client: Detect when ACPI lid is closed during initialization

2024-06-06 Thread Jani Nikula
bg_kms(dev, "[CONNECTOR:%d:%s] lid is closed, > disabling\n", > connector->base.id, connector->name); > enabled[i] = false; > } > +#endif > } > } No. This is because CONFIG_DRM=y CONFIG_ACPI_BUTTON=m The pedantically correct fix is probably having DRM depends on ACPI_BUTTON || ACPI_BUTTON=n but seeing how i915 and xe just select ACPI_BUTTON if ACPI and nouveau basically uses acpi_lid_open() it if it's reachable with no regard to kconfig, it's anyone's guess what will work. BR, Jani. -- Jani Nikula, Intel

Re: [PATCH 2/3] drm/xe: drop redundant W=1 warnings from Makefile

2024-06-05 Thread Jani Nikula
On Thu, 23 May 2024, Jani Nikula wrote: > Since commit a61ddb4393ad ("drm: enable (most) W=1 warnings by default > across the subsystem"), most of the extra warnings in the driver > Makefile are redundant. Remove them. > > Note that -Wmissing-declarations and -Wmiss

Re: [PATCH 3/3] drm/amdgpu: drop redundant W=1 warnings from Makefile

2024-06-05 Thread Jani Nikula
On Thu, 23 May 2024, Jani Nikula wrote: > Since commit a61ddb4393ad ("drm: enable (most) W=1 warnings by default > across the subsystem"), most of the extra warnings in the driver > Makefile are redundant. Remove them. > > Note that -Wmissing-declarations and -Wmiss

Re: [PATCH 1/3] drm/i915: drop redundant W=1 warnings from Makefile

2024-06-05 Thread Jani Nikula
On Thu, 23 May 2024, Jani Nikula wrote: > Since commit a61ddb4393ad ("drm: enable (most) W=1 warnings by default > across the subsystem"), most of the extra warnings in the driver > Makefile are redundant. Remove them. > > Note that -Wmissing-declarations and -Wmiss

[PATCH 0/3] drm/mst & drm/amd/display: switch to using guid_t

2024-05-31 Thread Jani Nikula
We have a guid_t type for GUIDs, switch to using it instead of hand rolling buffers. Convert to guid_gen() in separate patches to pinpoint the functional changes. BR, Jani. Jani Nikula (3): drm/mst: switch to guid_t type for GUID drm/mst: switch to guid_gen() to generate valid GUIDs drm

[PATCH 3/3] drm/amd/display: switch to guid_gen() to generate valid GUIDs

2024-05-31 Thread Jani Nikula
Instead of just smashing jiffies into a GUID, use guid_gen() to generate RFC 4122 compliant GUIDs. Signed-off-by: Jani Nikula --- Side note, it baffles me why amdgpu has a copy of this instead of plumbing it into drm mst code. --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 23

[PATCH 2/3] drm/mst: switch to guid_gen() to generate valid GUIDs

2024-05-31 Thread Jani Nikula
Instead of just smashing jiffies into a GUID, use guid_gen() to generate RFC 4122 compliant GUIDs. Signed-off-by: Jani Nikula --- drivers/gpu/drm/display/drm_dp_mst_topology.c | 10 +- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/gpu/drm/display

[PATCH 1/3] drm/mst: switch to guid_t type for GUID

2024-05-31 Thread Jani Nikula
The kernel has a guid_t type for GUIDs. Switch to using it, but avoid any functional changes here. Signed-off-by: Jani Nikula --- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +- drivers/gpu/drm/display/drm_dp_mst_topology.c | 67 +++ include/drm/display

Re: [PATCH v2] drm/client: Detect when ACPI lid is closed during initialization

2024-05-29 Thread Jani Nikula
unsigned int connector_count, >> @@ -844,6 +873,7 @@ int drm_client_modeset_probe(struct drm_client_dev >> *client, unsigned int width, >> memset(crtcs, 0, connector_count * sizeof(*crtcs)); >> memset(offsets, 0, connector_count * sizeof(*offsets)); >> >> + drm_client_match_edp_lid(dev, connectors, connector_count, >> enabled); >> if (!drm_client_target_cloned(dev, connectors, >> connector_count, modes, >> offsets, enabled, width, >> height) && >> !drm_client_target_preferred(dev, connectors, >> connector_count, modes, >> -- >> 2.43.0 >> -- Jani Nikula, Intel

Re: [PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe()

2024-05-24 Thread Jani Nikula
On Thu, 23 May 2024, Ville Syrjälä wrote: > On Thu, May 23, 2024 at 06:51:08PM +0300, Jani Nikula wrote: >> Enabling -Wformat-truncation yields the following warning: >> >> ../drivers/gpu/drm/imx/ipuv3/imx-ldb.c: In function ‘imx_ldb_probe’: >> ../drivers/gpu/drm

Re: [PATCH 4/4] drm: enable -Wformat-truncation across the subsystem

2024-05-24 Thread Jani Nikula
On Thu, 23 May 2024, Sam Ravnborg wrote: > Hi Jani, > > On Thu, May 23, 2024 at 06:51:09PM +0300, Jani Nikula wrote: >> With the -Wformat-truncation warnings fixed, finish the job started in >> commit a61ddb4393ad ("drm: enable (most) W=1 warnings by default across >

Re: [PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring()

2024-05-24 Thread Jani Nikula
On Thu, 23 May 2024, Alex Deucher wrote: > Already fixed with this patch: > https://patchwork.freedesktop.org/patch/594864/ Great, thanks! BR, Jani. -- Jani Nikula, Intel

[PATCH 0/3] amd, i915, xe: drop redundant warnings from driver makefiles

2024-05-23 Thread Jani Nikula
I'm sending these together, as they're related, and almost identical, but I expect them to be merged individually to each driver. BR, Jani. Jani Nikula (3): drm/i915: drop redundant W=1 warnings from Makefile drm/xe: drop redundant W=1 warnings from Makefile drm/amdgpu: drop red

[PATCH 3/3] drm/amdgpu: drop redundant W=1 warnings from Makefile

2024-05-23 Thread Jani Nikula
.extrawarn. Signed-off-by: Jani Nikula --- drivers/gpu/drm/amd/amdgpu/Makefile | 18 +- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/Makefile b/drivers/gpu/drm/amd/amdgpu/Makefile index 1f6b56ec99f6..9508d0b5708e 100644 --- a/drivers/gpu/drm/

[PATCH 2/4] drm/nouveau: fix -Wformat-truncation warning in nouveau_backlight_init()

2024-05-23 Thread Jani Nikula
"nv_backlight%d", nb); | ^~~~ Silence the warning by checking the snprintf() return value. Signed-off-by: Jani Nikula --- Cc: Karol Herbst Cc: Lyude Paul Cc: Danilo Krummrich Cc: dri-de...@lists.freedesktop.org Cc: nouv...@lists.freedesktop.org --- drivers/gpu/drm/n

[PATCH 0/4] drm: enable -Wformat-truncation

2024-05-23 Thread Jani Nikula
Jani Nikula (4): drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring() drm/nouveau: fix -Wformat-truncation warning in nouveau_backlight_init() drm/imx: fix -Wformat-truncation warning in imx_ldb_probe() drm: enable -Wformat-truncation across the subsystem

[PATCH 1/3] drm/i915: drop redundant W=1 warnings from Makefile

2024-05-23 Thread Jani Nikula
.extrawarn. Signed-off-by: Jani Nikula --- drivers/gpu/drm/i915/Makefile | 25 + 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index 7cad944b825c..a70d95a8fd7a 100644 --- a/drivers/gpu/drm/i915/Make

[PATCH 4/4] drm: enable -Wformat-truncation across the subsystem

2024-05-23 Thread Jani Nikula
With the -Wformat-truncation warnings fixed, finish the job started in commit a61ddb4393ad ("drm: enable (most) W=1 warnings by default across the subsystem"), and enable that warning too. Signed-off-by: Jani Nikula --- Gut feeling says there are more issues, and my configs just d

[PATCH 1/4] drm/amdgpu: fix -Wformat-truncation warning in amdgpu_gfx_kiq_init_ring()

2024-05-23 Thread Jani Nikula
Silence the warning by checking the snprintf() return value. Signed-off-by: Jani Nikula --- Cc: Alex Deucher Cc: "Christian König" Cc: Pan Xinhui Cc: amd-gfx@lists.freedesktop.org Cc: dri-de...@lists.freedesktop.org --- drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.

[PATCH 3/4] drm/imx: fix -Wformat-truncation warning in imx_ldb_probe()

2024-05-23 Thread Jani Nikula
e 16 658 | snprintf(clkname, sizeof(clkname), "di%d_sel", i); | ^ Silence the warning by checking the snprintf() return value. Signed-off-by: Jani Nikula --- Cc: Philipp Zabel Cc: Shawn Guo Cc: Sascha Ha

[PATCH 2/3] drm/xe: drop redundant W=1 warnings from Makefile

2024-05-23 Thread Jani Nikula
.extrawarn. Signed-off-by: Jani Nikula --- drivers/gpu/drm/xe/Makefile | 25 + 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile index c9f067b8f54d..f4366cb958be 100644 --- a/drivers/gpu/drm/xe/Makefile +++ b/d

Re: [RESEND 0/6] drm, nouveau/radeon/amdpgu: edid_blob_ptr cleanups

2024-05-23 Thread Jani Nikula
On Mon, 13 May 2024, Alex Deucher wrote: > On Mon, May 13, 2024 at 8:20 AM Jani Nikula wrote: >> >> On Fri, 10 May 2024, Alex Deucher wrote: >> > On Fri, May 10, 2024 at 11:17 AM Jani Nikula wrote: >> > Series is: >> > Acked-by: Alex Deucher >>

Re: [RESEND 0/6] drm, nouveau/radeon/amdpgu: edid_blob_ptr cleanups

2024-05-13 Thread Jani Nikula
On Fri, 10 May 2024, Alex Deucher wrote: > On Fri, May 10, 2024 at 11:17 AM Jani Nikula wrote: >> >> I've sent this some moths ago, let's try again... >> >> BR, >> Jani. >> >> Jani Nikula (6): >> drm/nouveau: convert to using is_hdm

Re: [RESEND 1/6] drm/nouveau: convert to using is_hdmi and has_audio from display info

2024-05-13 Thread Jani Nikula
On Fri, 10 May 2024, Lyude Paul wrote: > Reviewed-by: Lyude Paul Thanks, how do you want to handle merging this? BR, Jani. > > On Fri, 2024-05-10 at 18:08 +0300, Jani Nikula wrote: >> Prefer the parsed results for is_hdmi and has_audio in display info >

[RESEND 2/6] drm/radeon: convert to using is_hdmi and has_audio from display info

2024-05-13 Thread Jani Nikula
Prefer the parsed results for is_hdmi and has_audio in display info over calling drm_detect_hdmi_monitor() and drm_detect_monitor_audio(), respectively. Cc: Alex Deucher Cc: Christian König Cc: Pan, Xinhui Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Jani Nikula --- drivers/gpu/drm

[RESEND 5/6] drm/edid: add a helper for EDID sysfs property show

2024-05-13 Thread Jani Nikula
Add a helper to get the EDID property for sysfs property show. This hides all the edid_blob_ptr usage within drm_edid.c. Signed-off-by: Jani Nikula --- drivers/gpu/drm/drm_crtc_internal.h | 2 ++ drivers/gpu/drm/drm_edid.c | 33 + drivers/gpu/drm

[RESEND 0/6] drm, nouveau/radeon/amdpgu: edid_blob_ptr cleanups

2024-05-13 Thread Jani Nikula
I've sent this some moths ago, let's try again... BR, Jani. Jani Nikula (6): drm/nouveau: convert to using is_hdmi and has_audio from display info drm/radeon: convert to using is_hdmi and has_audio from display info drm/radeon: remove radeon_connector_edid() and

[RESEND 6/6] drm/connector: update edid_blob_ptr documentation

2024-05-13 Thread Jani Nikula
Accessing the EDID via edid_blob_ptr causes chicken-and-egg problems. Keep edid_blob_ptr as the userspace interface that should be accessed via dedicated functions. Signed-off-by: Jani Nikula --- include/drm/drm_connector.h | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git

[RESEND 1/6] drm/nouveau: convert to using is_hdmi and has_audio from display info

2024-05-13 Thread Jani Nikula
Cc: Danilo Krummrich Cc: nouv...@lists.freedesktop.org Signed-off-by: Jani Nikula --- drivers/gpu/drm/nouveau/dispnv50/disp.c | 8 drivers/gpu/drm/nouveau/dispnv50/head.c | 8 +--- drivers/gpu/drm/nouveau/nouveau_connector.c | 2 +- 3 files changed, 6 insertions(+), 12

[RESEND 3/6] drm/radeon: remove radeon_connector_edid() and stop using edid_blob_ptr

2024-05-13 Thread Jani Nikula
using it. Cc: Alex Deucher Cc: Christian König Cc: Pan, Xinhui Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Jani Nikula --- drivers/gpu/drm/radeon/radeon_audio.c | 7 --- drivers/gpu/drm/radeon/radeon_connectors.c | 15 --- drivers/gpu/drm/radeon/radeon_mode.h

[RESEND 4/6] drm/amdgpu: remove amdgpu_connector_edid() and stop using edid_blob_ptr

2024-05-13 Thread Jani Nikula
using it. Cc: Alex Deucher Cc: Christian König Cc: Pan, Xinhui Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Jani Nikula --- drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 16 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.h | 1 - drivers/gpu/drm/amd/amdgpu/dce

RE: [PATCH] drm/mst: Fix NULL pointer dereference at drm_dp_add_payload_part2

2024-05-10 Thread Jani Nikula
code in a while but this all looks pretty >> >> straightforward and good. >> >> >> >> Reviewed-by: Harry Wentland >> > >> > Hmmm, that was three weeks ago, but it seems since then nothing >> > happened to fix the linked regression

Re: [PATCH 2/5] drm/amdgpu: Use drm_crtc_vblank_crtc()

2024-05-08 Thread Jani Nikula
Signed-off-by: Ville Syrjälä FWIW, Reviewed-by: Jani Nikula > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c | 8 ++-- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +- > 2 files changed, 3 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/am

Re: [PATCH v2 03/12] drm/i915: Make I2C terminology more inclusive

2024-05-06 Thread Jani Nikula
t;> > main drivers/i2c accepting the new terminology. So we don't have a >> > risk of that getting push back and new names there and we having >> > to rename it once again. >> >> Just to be explicit, did you want me to remove the Acked-by in v3, or wi

Re: [PATCH 1/2] drm/print: drop include debugfs.h and include where needed

2024-04-25 Thread Jani Nikula
On Mon, 22 Apr 2024, Jani Nikula wrote: > Surprisingly many places depend on debugfs.h to be included via > drm_print.h. Fix them. > > v3: Also fix armada, ite-it6505, imagination, msm, sti, vc4, and xe > > v2: Also fix ivpu and vmwgfx > > Reviewed-by: Andrzej Hajda &

[PATCH 1/2] drm/print: drop include debugfs.h and include where needed

2024-04-22 Thread Jani Nikula
/20240410141434.157908-1-jani.nik...@intel.com Signed-off-by: Jani Nikula --- Cc: Jacek Lawrynowicz Cc: Stanislaw Gruszka Cc: Oded Gabbay Cc: Russell King Cc: David Airlie Cc: Daniel Vetter Cc: Andrzej Hajda Cc: Neil Armstrong Cc: Robert Foss Cc: Laurent Pinchart Cc: Jonas Karlman Cc: Jernej

Re: [PATCH v2 1/2] drm/print: drop include debugfs.h and include where needed

2024-04-22 Thread Jani Nikula
On Thu, 18 Apr 2024, Jani Nikula wrote: > On Thu, 18 Apr 2024, Robert Foss wrote: >> I'm seeing build errors for drivers/gpu/drm/bridge/ite-it6505.c, is >> this expected? > > No, but it's possible my configs didn't catch all configs. :( Okay, enabled a bunc

Re: [PATCH v2 1/2] drm/print: drop include debugfs.h and include where needed

2024-04-19 Thread Jani Nikula
On Thu, 18 Apr 2024, Robert Foss wrote: > I'm seeing build errors for drivers/gpu/drm/bridge/ite-it6505.c, is > this expected? No, but it's possible my configs didn't catch all configs. :( BR, Jani. -- Jani Nikula, Intel

[PATCH v2 1/2] drm/print: drop include debugfs.h and include where needed

2024-04-18 Thread Jani Nikula
Surprisingly many places depend on debugfs.h to be included via drm_print.h. Fix them. v2: Also fix ivpu and vmwgfx Reviewed-by: Andrzej Hajda Acked-by: Maxime Ripard Link: https://patchwork.freedesktop.org/patch/msgid/20240410141434.157908-1-jani.nik...@intel.com Signed-off-by: Jani Nikula

Re: [PATCH 1/2] drm/print: drop include debugfs.h and include where needed

2024-04-15 Thread Jani Nikula
On Wed, 10 Apr 2024, Jani Nikula wrote: > Surprisingly many places depend on debugfs.h to be included via > drm_print.h. Fix them. While all of this is trivial, merely adding some includes, please consider acking the changes to your corner of the kernel. Thanks, Jani. > > Signed-

[PATCH 1/2] drm/print: drop include debugfs.h and include where needed

2024-04-11 Thread Jani Nikula
Surprisingly many places depend on debugfs.h to be included via drm_print.h. Fix them. Signed-off-by: Jani Nikula --- Cc: Andrzej Hajda Cc: Neil Armstrong Cc: Robert Foss Cc: Laurent Pinchart Cc: Jonas Karlman Cc: Jernej Skrabec Cc: Maarten Lankhorst Cc: Maxime Ripard Cc: Thomas

Re: [PATCH v0 02/14] drm/amdgpu,drm/radeon: Make I2C terminology more inclusive

2024-04-03 Thread Jani Nikula
>> I raised the same question to Wolfram. > > I don't know where that discussion happened, but my opinion > is NAK to "client". Life is already confusing enough with > these renames, so let's not make it even more confusing by > inventing new names now

Re: [PATCH v0 03/14] drm/gma500,drm/i915: Make I2C terminology more inclusive

2024-04-02 Thread Jani Nikula
On Tue, 02 Apr 2024, Easwar Hariharan wrote: > On 4/2/2024 7:32 AM, Jani Nikula wrote: >> On Tue, 02 Apr 2024, Easwar Hariharan wrote: >>> On 4/2/2024 12:48 AM, Jani Nikula wrote: >>>> On Fri, 29 Mar 2024, Easwar Hariharan wrote: >>>>> I2C v7, SM

Re: [PATCH v0 03/14] drm/gma500,drm/i915: Make I2C terminology more inclusive

2024-04-02 Thread Jani Nikula
On Tue, 02 Apr 2024, Easwar Hariharan wrote: > On 4/2/2024 12:48 AM, Jani Nikula wrote: >> On Fri, 29 Mar 2024, Easwar Hariharan wrote: >>> I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave" >>> with more appropriate terms. Inspired by and

Re: [PATCH v0 03/14] drm/gma500,drm/i915: Make I2C terminology more inclusive

2024-04-02 Thread Jani Nikula
On Fri, 29 Mar 2024, Easwar Hariharan wrote: > I2C v7, SMBus 3.2, and I3C specifications have replaced "master/slave" > with more appropriate terms. Inspired by and following on to Wolfram's > series to fix drivers/i2c/[1], fix the terminology for users of > I2C_ALGOBIT bitbanging interface, now t

Re: [RFC PATCH v3 3/6] drm/amd/display: switch amdgpu_dm_connector to use struct drm_edid

2024-03-28 Thread Jani Nikula
onnector_update_edid_property( > + drm_edid_connector_update( > &aconnector->base, > NULL); > > @@ -340,7 +340,7 @@ static int dm_dp_mst_get_modes(struct drm_connector > *connector) > return ret; > } > > - aconnector->edid = edid; > + aconnector->edid = drm_edid; > amdgpu_dm_set_mst_status(&aconnector->mst_status, > MST_REMOTE_EDID, true); > } > @@ -355,10 +355,13 @@ static int dm_dp_mst_get_modes(struct drm_connector > *connector) > struct dc_sink_init_data init_params = { > .link = aconnector->dc_link, > .sink_signal = SIGNAL_TYPE_DISPLAY_PORT_MST }; > + const struct edid *edid; > + > + edid = drm_edid_raw(aconnector->edid); // FIXME: Get rid of > drm_edid_raw() > dc_sink = dc_link_add_remote_sink( > aconnector->dc_link, > - (uint8_t *)aconnector->edid, > - (aconnector->edid->extensions + 1) * EDID_LENGTH, > + (uint8_t *)edid, > + (edid->extensions + 1) * EDID_LENGTH, > &init_params); > > if (!dc_sink) { > @@ -412,10 +415,9 @@ static int dm_dp_mst_get_modes(struct drm_connector > *connector) > } > } > > - drm_connector_update_edid_property( > - &aconnector->base, aconnector->edid); > + drm_edid_connector_update(&aconnector->base, aconnector->edid); > > - ret = drm_add_edid_modes(connector, aconnector->edid); > + ret = drm_edid_connector_add_modes(connector); > > return ret; > } -- Jani Nikula, Intel

Re: [RFC PATCH v3 0/6] drm/amd/display: switch amdgpu_dm_connector to use struct drm_edid

2024-03-28 Thread Jani Nikula
r.1711015462.git.jani.nik...@intel.com BR, Jani. -- Jani Nikula, Intel

Re: [PATCH v5 7/8] drm/amd/display: Introduce KUnit tests to dc_dmub_srv library

2024-02-26 Thread Jani Nikula
t on, but this hunk demonstrates the point: Should all the configs have DRM_AMD_ prefix to put them in a "namespace"? BR, Jani. -- Jani Nikula, Intel

Re: [PATCH v2] drm/amd/display: add panel_power_savings sysfs entry to eDP connectors

2024-02-16 Thread Jani Nikula
tter what the problem is, this sounds like the solution is worse than the problem! BR, Jani. -- Jani Nikula, Intel

Re: [PATCH v6 3/5] drm: Add support to get EDID from ACPI

2024-02-15 Thread Jani Nikula
nnector->acpi_edid_allowed) > > That should probably be called 'prefer_acpi_edid' or something > since it's the first choice when the flag is set. > > But I'm not so sure there's any real benefit in having this > flag at all. You anyway have to modify the driver to use this, > so why not just have the driver do the call directly instead of > adding this extra detour via the flag? Heh, round and round we go [1]. BR, Jani. [1] https://lore.kernel.org/r/87sf23auxv@intel.com -- Jani Nikula, Intel

Re: [PATCH v6 3/5] drm: Add support to get EDID from ACPI

2024-02-15 Thread Jani Nikula
++ b/include/drm/drm_connector.h > @@ -1886,6 +1886,12 @@ struct drm_connector { > > /** @hdr_sink_metadata: HDR Metadata Information read from sink */ > struct hdr_sink_metadata hdr_sink_metadata; > + > + /** > + * @acpi_edid_allowed: Get the EDID from the BIOS, if available. > + * This is only applicable to eDP and LVDS displays. > + */ > + bool acpi_edid_allowed; > }; > > #define obj_to_connector(x) container_of(x, struct drm_connector, base) > diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h > index 7923bc00dc7a..1c1ee927de9c 100644 > --- a/include/drm/drm_edid.h > +++ b/include/drm/drm_edid.h > @@ -459,5 +459,6 @@ bool drm_edid_is_digital(const struct drm_edid *drm_edid); > > const u8 *drm_find_edid_extension(const struct drm_edid *drm_edid, > int ext_id, int *ext_index); > +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector); > > #endif /* __DRM_EDID_H__ */ -- Jani Nikula, Intel

Re: [PATCH v5 1/3] drm: Add support to get EDID from ACPI

2024-02-15 Thread Jani Nikula
; index fe88d7fc6b8f..74ed47f37a69 100644 > --- a/include/drm/drm_connector.h > +++ b/include/drm/drm_connector.h > @@ -1886,6 +1886,12 @@ struct drm_connector { > > /** @hdr_sink_metadata: HDR Metadata Information read from sink */ > struct hdr_sink_metadata hdr_sink_metadata; > + > + /** > + * @acpi_edid_allowed: Get the EDID from the BIOS, if available. > + * This is only applicable to eDP and LVDS displays. > + */ > + bool acpi_edid_allowed; > }; > > #define obj_to_connector(x) container_of(x, struct drm_connector, base) > diff --git a/include/drm/drm_edid.h b/include/drm/drm_edid.h > index 518d1b8106c7..38b5e1b5c773 100644 > --- a/include/drm/drm_edid.h > +++ b/include/drm/drm_edid.h > @@ -463,5 +463,6 @@ bool drm_edid_is_digital(const struct drm_edid *drm_edid); > > const u8 *drm_find_edid_extension(const struct drm_edid *drm_edid, > int ext_id, int *ext_index); > +const struct drm_edid *drm_edid_read_acpi(struct drm_connector *connector); > > #endif /* __DRM_EDID_H__ */ -- Jani Nikula, Intel

Re: [PATCH v4 1/3] drm: Add drm_get_acpi_edid() helper

2024-02-12 Thread Jani Nikula
On Sat, 10 Feb 2024, Mario Limonciello wrote: > On 2/9/2024 12:57, Daniel Vetter wrote: >> On Fri, Feb 09, 2024 at 09:34:13AM -0600, Mario Limonciello wrote: >>> On 2/9/2024 05:07, Daniel Vetter wrote: >>>> On Thu, Feb 08, 2024 at 11:57:11AM +0200, Jani Nikula wr

Re: Re: [PATCH v4 1/3] drm: Add drm_get_acpi_edid() helper

2024-02-08 Thread Jani Nikula
On Thu, 08 Feb 2024, Maxime Ripard wrote: > On Thu, Feb 08, 2024 at 11:57:11AM +0200, Jani Nikula wrote: >> On Wed, 07 Feb 2024, Mario Limonciello wrote: >> > Some manufacturers have intentionally put an EDID that differs from >> > the EDID on the internal panel on

Re: [PATCH v4 1/3] drm: Add drm_get_acpi_edid() helper

2024-02-08 Thread Jani Nikula
dc7a..ca41be289fc6 100644 > --- a/include/drm/drm_edid.h > +++ b/include/drm/drm_edid.h > @@ -410,6 +410,7 @@ struct edid *drm_do_get_edid(struct drm_connector > *connector, > void *data); > struct edid *drm_get_edid(struct drm_connector *connector, > struct i2c_adapter *adapter); > +const struct drm_edid *drm_get_acpi_edid(struct drm_connector *connector); There's a comment /* Interface based on struct drm_edid */ towards the end of the file, gathering all the new API under it. Other than that, LGTM, BR, Jani. > u32 drm_edid_get_panel_id(struct i2c_adapter *adapter); > struct edid *drm_get_edid_switcheroo(struct drm_connector *connector, >struct i2c_adapter *adapter); -- Jani Nikula, Intel

Re: [PATCH v3 2/5] drm: Add drm_get_acpi_edid() helper

2024-02-02 Thread Jani Nikula
drm/drm_edid.h b/include/drm/drm_edid.h > index 518d1b8106c7..60fbdc06badc 100644 > --- a/include/drm/drm_edid.h > +++ b/include/drm/drm_edid.h > @@ -412,6 +412,7 @@ struct edid *drm_do_get_edid(struct drm_connector > *connector, > void *data); > struct edid *drm_get_edid(struct drm_connector *connector, > struct i2c_adapter *adapter); > +struct edid *drm_get_acpi_edid(struct drm_connector *connector); > u32 drm_edid_get_panel_id(struct i2c_adapter *adapter); > struct edid *drm_get_edid_switcheroo(struct drm_connector *connector, >struct i2c_adapter *adapter); -- Jani Nikula, Intel

Re: [PATCH 3/6] drm/amdgpu: prefer snprintf over sprintf

2024-02-01 Thread Jani Nikula
On Fri, 12 Jan 2024, Alex Deucher wrote: > On Wed, Jan 10, 2024 at 12:39 PM Jani Nikula wrote: >> >> This will trade the W=1 warning -Wformat-overflow to >> -Wformat-truncation. This lets us enable -Wformat-overflow subsystem >> wide. >> >> Cc: Alex Deuc

Re: [RFC PATCH 0/2] drm/amd/display: switch amdgpu_dm_connector to

2024-01-30 Thread Jani Nikula
issa Wen (2): >>drm/amd/display: fix null-pointer dereference on edid reading >>drm/amd/display: switch amdgpu_dm_connector to use struct drm_edid >> >> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 78 ++- >> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 4 +- >> .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 9 ++- >> .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 23 +++--- >> 4 files changed, 60 insertions(+), 54 deletions(-) >> > -- Jani Nikula, Intel

Re: [PATCH 2/2] drm/amd: Fetch the EDID from _DDC if available for eDP

2024-01-29 Thread Jani Nikula
On Mon, 29 Jan 2024, Mario Limonciello wrote: > On 1/29/2024 03:39, Jani Nikula wrote: >> On Fri, 26 Jan 2024, Mario Limonciello wrote: >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c >>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c >>&

Re: [PATCH 2/2] drm/amd: Fetch the EDID from _DDC if available for eDP

2024-01-29 Thread Jani Nikula
i2c_adapter *ddc; > int retry = 3; > enum dc_edid_status edid_status; > @@ -909,8 +910,10 @@ enum dc_edid_status dm_helpers_read_local_edid( >* do check sum and retry to make sure read correct edid. >*/ > do { > - > - edid = drm_get_edid(&aconnector->base, ddc); > + /* prefer ACPI over panel for eDP */ > + edid = amdgpu_acpi_edid(adev, connector); > + if (!edid) > + edid = drm_get_edid(&aconnector->base, ddc); > > /* DP Compliance Test 4.2.2.6 */ > if (link->aux_mode && connector->edid_corrupt) -- Jani Nikula, Intel

[PATCH 4/6] drm/amdgpu: remove amdgpu_connector_edid() and stop using edid_blob_ptr

2024-01-12 Thread Jani Nikula
using it. Cc: Alex Deucher Cc: Christian König Cc: Pan, Xinhui Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Jani Nikula --- drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c | 16 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.h | 1 - drivers/gpu/drm/amd/amdgpu/dce

[PATCH 3/6] drm/radeon: remove radeon_connector_edid() and stop using edid_blob_ptr

2024-01-12 Thread Jani Nikula
using it. Cc: Alex Deucher Cc: Christian König Cc: Pan, Xinhui Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Jani Nikula --- drivers/gpu/drm/radeon/radeon_audio.c | 7 --- drivers/gpu/drm/radeon/radeon_connectors.c | 15 --- drivers/gpu/drm/radeon/radeon_mode.h

[PATCH 2/6] drm/radeon: convert to using is_hdmi and has_audio from display info

2024-01-12 Thread Jani Nikula
Prefer the parsed results for is_hdmi and has_audio in display info over calling drm_detect_hdmi_monitor() and drm_detect_monitor_audio(), respectively. Cc: Alex Deucher Cc: Christian König Cc: Pan, Xinhui Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Jani Nikula --- drivers/gpu/drm

Re: [PATCH 3/6] drm/amdgpu: prefer snprintf over sprintf

2024-01-12 Thread Jani Nikula
>329 >330ring->eop_gpu_addr = kiq->eop_gpu_addr; >331ring->no_scheduler = true; > > 332snprintf(ring->name, sizeof(ring->name), > "kiq_%d.%d.%d.%d", >333 xcc_id, ring->me, ring->pipe, ring->queue); >334r = amdgpu_ring_init(adev, ring, 1024, irq, > AMDGPU_CP_KIQ_IRQ_DRIVER0, >335 AMDGPU_RING_PRIO_DEFAULT, NULL); >336if (r) >337dev_warn(adev->dev, "(%d) failed to init kiq > ring\n", r); >338 >339return r; >340} >341 -- Jani Nikula, Intel

[PATCH 3/6] drm/amdgpu: prefer snprintf over sprintf

2024-01-11 Thread Jani Nikula
This will trade the W=1 warning -Wformat-overflow to -Wformat-truncation. This lets us enable -Wformat-overflow subsystem wide. Cc: Alex Deucher Cc: Christian König Cc: Pan, Xinhui Cc: amd-gfx@lists.freedesktop.org Signed-off-by: Jani Nikula --- drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c | 3

[PATCH] drm/amd: include drm/drm_edid.h only where needed

2023-12-12 Thread Jani Nikula
Including drm_edid.h from amdgpu_mode.h causes the rebuild of literally hundreds of files when drm_edid.h is modified, while there are only a handful of files that actually need to include drm_edid.h. Signed-off-by: Jani Nikula --- drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h| 2

[PATCH] drm/radeon: include drm/drm_edid.h only where needed

2023-12-12 Thread Jani Nikula
Including drm_edid.h from radeon_mode.h causes the rebuild of more than a hundred files when drm_edid.h is modified, while there are only a handful of files that actually need to include drm_edid.h. Signed-off-by: Jani Nikula --- drivers/gpu/drm/radeon/atombios_encoders.c | 1 + drivers/gpu/drm

Re: [Intel-gfx] [PATCH v4 00/20] remove I2C_CLASS_DDC support

2023-11-21 Thread Jani Nikula
On Mon, 20 Nov 2023, Heiner Kallweit wrote: > v4: > - more ack and review tags Please do not send new versions just to record the acks and reviews. They should be added while applying the patches. Thanks, Jani. -- Jani Nikula, Intel

Re: [PATCH] drivers: gpu: Fix warning using plain integer as NULL

2023-11-06 Thread Jani Nikula
On Mon, 06 Nov 2023, Abhinav Singh wrote: > On 11/6/23 16:53, Jani Nikula wrote: >> On Fri, 03 Nov 2023, Abhinav Singh wrote: >>> sparse static analysis tools generate a warning with this message >>> "Using plain integer as NULL pointer". In this case this

Re: [PATCH] drivers: gpu: Fix warning using plain integer as NULL

2023-11-06 Thread Jani Nikula
SECT_CONTEXT }, > { SECT_CLEAR_defs, SECT_CLEAR }, > { SECT_CTRLCONST_defs, SECT_CTRLCONST }, > -{ 0, SECT_NONE } > +{ NULL, SECT_NONE } > }; > -- > 2.39.2 > -- Jani Nikula, Intel

  1   2   3   >