| 00eda392 | 10-Nov-2025 |
Jani Nikula <jani.nikula@intel.com> |
drm/i915/rom: convert intel_rom interfaces to struct drm_device
Reduce the display dependency on struct drm_i915_private and i915_drv.h by converting the rom interface to struct drm_device.
Reviewe
drm/i915/rom: convert intel_rom interfaces to struct drm_device
Reduce the display dependency on struct drm_i915_private and i915_drv.h by converting the rom interface to struct drm_device.
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com> Link: https://patch.msgid.link/20251110112048.2366725-1-jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| 0d4a57f0 | 02-Sep-2025 |
Ville Syrjälä <ville.syrjala@linux.intel.com> |
drm/i915/dram: Print memory details even if something went wrong
Print the memory details even if the detection failed in some way but we continued the driver initialization anyway. It'll be easier
drm/i915/dram: Print memory details even if something went wrong
Print the memory details even if the detection failed in some way but we continued the driver initialization anyway. It'll be easier to debug issues if we at least know what the final results were.
And while at it also print the number of PSF GV points. Previously we only printed the QGV points.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250902133113.18778-9-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| a6d31e18 | 02-Sep-2025 |
Ville Syrjälä <ville.syrjala@linux.intel.com> |
drm/i915/dram: Don't call skl_get_dram_info()/skl_get_dram_type() on icl
Currently the icl codepaths first determine the memory type from the memory controller registers (via skl_get_dram_info()->sk
drm/i915/dram: Don't call skl_get_dram_info()/skl_get_dram_type() on icl
Currently the icl codepaths first determine the memory type from the memory controller registers (via skl_get_dram_info()->skl_get_dram_type()) and then overwrite the results with icl_pcode_read_mem_global_info(). Get rid of the pointless (and potentially incorrect) skl_get_dram_type() stuff.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250902133113.18778-8-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| 84b72b54 | 02-Sep-2025 |
Ville Syrjälä <ville.syrjala@linux.intel.com> |
drm/i915/dram: Move 16Gb DIMM detection fully to the skl/icl codepaths
We are incorrectly applying the 16Gb DIMM w/a (adding 1 extra usec to WM0 latency) on MTL+ even though the w/a is only needed f
drm/i915/dram: Move 16Gb DIMM detection fully to the skl/icl codepaths
We are incorrectly applying the 16Gb DIMM w/a (adding 1 extra usec to WM0 latency) on MTL+ even though the w/a is only needed for SKL/ICL.
The current way of setting this is up is a bit of a disaster: 1. always set has_16gb_dimms=true for all platforms except BXT/GLK 2. has_16gb_dimms potentially gets overwritten with something else * BXT/GLK don't do anything since we never set has_16gb_dimms to begin with * skl_get_dram_info() overwrites has_16gb_dimms with the actual detection results for SKL/ICL/derivatives * gen12_get_dram_info() (correctly) resets has_16gb_dimms for TGL/ADL/derivatives * xelpdp_get_dram_info() doesn't do anything, leaving has_16gb_dimms incorrectly set for MTL+
Clean up the whole mess by only setting has_16gb_dimms in the SKL/ICL codepaths where we have the actual detection code for it. This avois applying the w/a incorrectly on MTL+.
v2: Rewrite commit msg (Jani)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250902133113.18778-6-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| 115cebc3 | 02-Sep-2025 |
Ville Syrjälä <ville.syrjala@linux.intel.com> |
drm/i915/dram: s/wm_lv0.../has_16gb_dimms/
The DRAM code shouldn't know anything about watermarks. Rename wm_lv_0_adjust_needed to has_16gb_dimms. How this gets used is up to the watermark code.
Si
drm/i915/dram: s/wm_lv0.../has_16gb_dimms/
The DRAM code shouldn't know anything about watermarks. Rename wm_lv_0_adjust_needed to has_16gb_dimms. How this gets used is up to the watermark code.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250902133113.18778-5-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| da548f7e | 02-Sep-2025 |
Ville Syrjälä <ville.syrjala@linux.intel.com> |
drm/i915/dram: Pack dram_info better
struct dram_info has two holes in the middle. Shuffle things around to plug them.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://pat
drm/i915/dram: Pack dram_info better
struct dram_info has two holes in the middle. Shuffle things around to plug them.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250902133113.18778-4-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| 41343900 | 02-Sep-2025 |
Ville Syrjälä <ville.syrjala@linux.intel.com> |
drm/i915/dram: Use intel_dram_type_str() for pnv
Replace the hand rolled PNV memory type printk string stuff with intel_dram_type_str().
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
drm/i915/dram: Use intel_dram_type_str() for pnv
Replace the hand rolled PNV memory type printk string stuff with intel_dram_type_str().
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250902133113.18778-3-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| 0492e13e | 18-Aug-2025 |
Jani Nikula <jani.nikula@intel.com> |
drm/i915/dram: move fsb_freq and mem_freq to dram info
Store fsb_freq and mem_freq in dram info the same way we do for other memory info on later platforms for a slightly more unified approach.
Thi
drm/i915/dram: move fsb_freq and mem_freq to dram info
Store fsb_freq and mem_freq in dram info the same way we do for other memory info on later platforms for a slightly more unified approach.
This allows us to remove fsb_freq, mem_freq and is_ddr3 members from struct drm_i915_private and struct xe_device.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://lore.kernel.org/r/a38c4b105ba9098fa0b128cb86cd4eb63bcc27e8.1755511595.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| 10e656f8 | 18-Aug-2025 |
Jani Nikula <jani.nikula@intel.com> |
drm/i915/dram: bypass fsb/mem freq detection on dg2 and no display
Non-display now calls the intel_fsb_freq() and intel_mem_freq() functions, so we don't have to have the frequencies initialized for
drm/i915/dram: bypass fsb/mem freq detection on dg2 and no display
Non-display now calls the intel_fsb_freq() and intel_mem_freq() functions, so we don't have to have the frequencies initialized for dg2 or non-display cases.
This is in preparation for unifying the pre-gen9 handling in dram info.
DG2 remains a special case as described in commit 5eb6bf0b44e7 ("drm/i915/dg2: Don't read DRAM info").
v2: Rebase
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://lore.kernel.org/r/7bfed06d431354f3918ea73d43a2ec8ed9426a76.1755511595.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| 6e977fe7 | 18-Aug-2025 |
Jani Nikula <jani.nikula@intel.com> |
drm/i915/dram: add intel_mem_freq()
Add a more generic intel_mem_freq() function instead of platform specific ones. Expose it for future use outside of intel_dram.c.
Reviewed-by: Rodrigo Vivi <rodr
drm/i915/dram: add intel_mem_freq()
Add a more generic intel_mem_freq() function instead of platform specific ones. Expose it for future use outside of intel_dram.c.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://lore.kernel.org/r/602103b290a92ba26d581eeb595ba5e707eb5bc4.1755511595.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| e3929f84 | 06-Aug-2025 |
Jani Nikula <jani.nikula@intel.com> |
drm/i915/gmch: pass display to DISPLAY_VER()
Underneath, DISPLAY_VER() really expects struct intel_display. Switch to it in preparation for removing the transitional __to_intel_display() macro.
Rev
drm/i915/gmch: pass display to DISPLAY_VER()
Underneath, DISPLAY_VER() really expects struct intel_display. Switch to it in preparation for removing the transitional __to_intel_display() macro.
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com> Link: https://lore.kernel.org/r/1f951102b3d073fd58c5211f399750aa80b51548.1754499175.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| 54fd8f38 | 23-Jun-2025 |
Jani Nikula <jani.nikula@intel.com> |
drm/xe/compat: remove old pcode compat interface
With display code using the struct drm_device based pcode interface, we can drop the old pcode compat interface.
We can also drop the __compat_uncor
drm/xe/compat: remove old pcode compat interface
With display code using the struct drm_device based pcode interface, we can drop the old pcode compat interface.
We can also drop the __compat_uncore_to_tile() helper from intel_uncore.h compat header.
Turns out a couple of headers depended on the intel_uncore.h include via intel_pcode.h. Fix them.
Cc: Lucas De Marchi <lucas.demarchi@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://lore.kernel.org/r/948016a031dcb2acef0c97071aac09fa49613e07.1750678991.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| e117100a | 27-May-2025 |
Jani Nikula <jani.nikula@intel.com> |
drm/i915/dram: allocate struct dram_info dynamically
Allocate struct drm_info dynamically, and convert the struct drm_i915_private and struct xe_device dram_info member into a const pointer. Move th
drm/i915/dram: allocate struct dram_info dynamically
Allocate struct drm_info dynamically, and convert the struct drm_i915_private and struct xe_device dram_info member into a const pointer. Move the struct definition to intel_dram.h, and keep it opaque to everyone not needing it. This also removes the duplication of the struct definition.
Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> Link: https://lore.kernel.org/r/73625095157346ea0e8614108c9b369208e5df66.1748337870.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|
| 836864ac | 27-May-2025 |
Jani Nikula <jani.nikula@intel.com> |
drm/i915/dram: add return value and handling to intel_dram_detect()
We'll want to start returning errors from intel_dram_detect(). As the first step, add the return value and error handling, even if
drm/i915/dram: add return value and handling to intel_dram_detect()
We'll want to start returning errors from intel_dram_detect(). As the first step, add the return value and error handling, even if we still only return 0.
Do no functional changes, but leave a comment about whether we should bail out on dram detection failures.
Reviewed-by: Vinod Govindapillai <vinod.govindapillai@intel.com> Link: https://lore.kernel.org/r/be2c31c459fb95d8161b719d499403eea5ec17b7.1748337870.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
show more ...
|