Dnyaneshwar Bhadane
48077b0b4e
drm/i915/tgl: s/TGL/TIGERLAKE for platform/subplatform defines
...
Follow consistent naming convention. Replace TGL with
TIGERLAKE.Replace IS_TGL_DISPLAY_STEP with
IS_TIGERLAKE() && IS_DISPLAY_STEP().
v2:
- s/TGL/tgl in the subject prefix(Anusha)
v3:
- Unrolled wrapper IS_TGL_DISPLAY_STEP and Replace
- Replace IS_PLATFORM && DISPLAY_STEP (Jani/Tvrtko).
v4:
- Removed unused macros
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Cc: Jani Nikula <jani.nikula@linux.intel.com >
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com >
Signed-off-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com >
Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com >
Acked-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230801135344.3797924-10-dnyaneshwar.bhadane@intel.com
2023-08-07 15:37:09 -07:00
Dnyaneshwar Bhadane
bd7b85014d
drm/i915/cml: s/CML/COMETLAKE for platform/subplatform defines
...
Follow consistent naming convention. Replace CML with
COMETLAKE.
Signed-off-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com >
Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com >
Acked-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230801135344.3797924-7-dnyaneshwar.bhadane@intel.com
2023-08-07 15:37:05 -07:00
Dnyaneshwar Bhadane
ac8140db69
drm/i915/cfl: s/CFL/COFFEELAKE for platform/subplatform defines
...
Follow consistent naming convention. Replace CFL with
COFFEELAKE.
Signed-off-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com >
Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com >
Acked-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230801135344.3797924-6-dnyaneshwar.bhadane@intel.com
2023-08-07 15:37:04 -07:00
Dnyaneshwar Bhadane
b1c5256092
drm/i915/kbl: s/KBL/KABYLAKE for platform/subplatform defines
...
Follow consistent naming convention. Replace KBL with
KABYLAKE.Replace IS_KBL_GRAPHICS_STEP with
IS_KABYLAKE () && IS_GRAPHICS_STEP().
v2:
- s/KBL/kbl in the subject prefix(Anusha)
v3:
- Unrolled wrapper IS_KBL_GRAPHICS_STEP.
- Replace with IS_PLATFORM && DISPLAY_STEP(tvrtko/jani)
v4:
- Removed unused macro.
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Cc: Jani Nikula <jani.nikula@linux.intel.com >
Cc: Anusha Srivatsa <Anusha.Srivatsa@intel.com >
Signed-off-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com >
Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com >
Acked-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230801135344.3797924-5-dnyaneshwar.bhadane@intel.com
2023-08-07 15:37:03 -07:00
Dnyaneshwar Bhadane
bd21470f40
drm/i915/skl: s/SKL/SKYLAKE for platform/subplatform defines
...
Follow consistent naming convention. Replace SKL with
SKYLAKE and Replace IS_SKL_GRAPHICS_STEP with
IS_SKYLAKE() && IS_GRAPHICS_STEP().
v2:
- Change subject skl instead of SKL(Anusha)
v3:
- Unrolled wrapper IS_SKL_GRAPHICS_STEP.
- Replace with IS_PLATFORM && DISPLAY_STEP(tvrtko/jani)
v4:
- Removed the unused macro.
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com >
Signed-off-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com >
Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com >
Acked-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230801135344.3797924-4-dnyaneshwar.bhadane@intel.com
2023-08-07 15:37:02 -07:00
Lee Shawn C
0641e54fc3
drm/i915/mtl: Add new vswing table for C20 phy to support DP 1.4
...
Add vswing table to support DP 1.4 for C20 phy.
v2: rename mtl_c10_trans
v3: add default_entry for mtl_c20_trans_dp14
v4: rename mtl_cx0_trans_dp14
Bspec: 74104
Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com >
Cc: Mika Kahola <mika.kahola@intel.com >
Cc: Clint Taylor <Clinton.A.Taylor@intel.com >
Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Cc: Uma Shankar <uma.shankar@intel.com >
Reviewed-by: Mika Kahola <mika.kahola@intel.com >
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230609002038.11516-1-shawn.c.lee@intel.com
2023-06-20 14:13:08 -07:00
Lee Shawn C
528208717e
drm/i915/mtl: update DP 2.0 vswing table for C20 phy
...
Update preset 15 setting to align the latest bspec value.
Bspec: 74104
Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com >
Cc: Mika Kahola <mika.kahola@intel.com >
Cc: Clint Taylor <Clinton.A.Taylor@intel.com >
Cc: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Cc: Uma Shankar <uma.shankar@intel.com >
Reviewed-by: Mika Kahola <mika.kahola@intel.com >
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230606104238.31953-1-shawn.c.lee@intel.com
2023-06-20 14:12:12 -07:00
Mika Kahola
ac50317e26
drm/i915/mtl: Add voltage swing sequence for C20
...
DP1.4 and DP20 voltage swing sequence for C20 phy.
Bspec: 65449, 67636, 67610
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com >
Signed-off-by: Mika Kahola <mika.kahola@intel.com >
Signed-off-by: Clint Taylor <Clinton.A.Taylor@intel.com >
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20230428095433.4109054-6-mika.kahola@intel.com
2023-04-28 14:52:01 -07:00
Mika Kahola
ea8af87ae6
drm/i915/mtl: Add vswing programming for C10 phys
...
C10 phys uses direct mapping internally for voltage and pre-emphasis levels.
Program the levels directly to the fields in the VDR Registers.
Bspec: 65449
v2: From table "C10: Tx EQ settings for DP 1.4x" it shows level 1
and preemphasis 1 instead of two times of level 1 preemphasis 0.
Fix this in the driver code as well.
v3: VSwing update (Clint)
v4: Add vboost termination ctl programming(Imre)
Fix tx llogic and other nits
Restrict C10 vdr ctl register access for C10 phy(RK)
v5: Program vboots, termination ctl for both lanes(Imre)
Cc: Imre Deak <imre.deak@intel.com >
Cc: Uma Shankar <uma.shankar@intel.com >
Signed-off-by: Clint Taylor <Clinton.A.Taylor@intel.com >
Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com >
Signed-off-by: Mika Kahola <mika.kahola@intel.com >
Reviewed-by: Imre Deak <imre.deak@intel.com >(v3)
Link: https://patchwork.freedesktop.org/patch/msgid/20230413212443.1504245-5-radhakrishna.sripada@intel.com
2023-04-14 08:12:40 -07:00
Balasubramani Vivekanandan
e8971a7903
drm/i915/display/adlp: More updates to voltage swing table
...
Voltage swing table updated for eDP HBR3
Bspec: 49291
Signed-off-by: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com >
Reviewed-by: Matt Atwood <matthew.s.atwood@intel.com >
Signed-off-by: Matt Roper <matthew.d.roper@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220602135719.1093081-1-balasubramani.vivekanandan@intel.com
2022-06-02 17:58:17 -07:00
Ville Syrjälä
3cf0507625
drm/i915/bios: Split VBT data into per-panel vs. global parts
...
Move the panel specific VBT parsing to happen during the
output probing stage. Needs to be done because the VBT
parsing will need to look at the EDID to determine
the correct panel_type on some machines.
We split the parsed VBT data (i915->vbt) along the same
boundary. For the moment we just hoist all the panel
specific stuff into connector->panel.vbt since that seems
like the most convenient place for eg. the backlight code.
Note that we simply drop the drrs type check from
intel_drrs_frontbuffer_update() since that operates on the whole
device rather than a specific connector/encoder. But the check
was just a micro optimization so removing it doesn't actually
mattter for correctness.
TODO: Lot's of cleanup to be done in the future. Eg. most of
the DSI stuff could probably be eliminated entirely and just
parsed on demand during DSI init.
v2: Note the intel_drrs_frontbuffer_update() change
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220510104242.6099-13-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2022-05-27 20:30:42 +03:00
Balasubramani Vivekanandan
4fde3f5d88
drm/i915/display/adl_p: Updates to HDMI combo PHY voltage swing table
...
New updates to HDMI combo PHY voltage swing tables. Actually with this
update (bspec updated on 08/17/2021), the values are reverted back to be
same as icelake for HDMI combo PHY.
Bspec: 49291
Signed-off-by: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com >
Reviewed-by: Matt Atwood <matthew.s.atwood@intel.com >
Signed-off-by: Matt Roper <matthew.d.roper@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220526064935.969225-1-balasubramani.vivekanandan@intel.com
2022-05-27 09:52:50 -07:00
Jani Nikula
e0602d3a13
drm/i915: warn about missing ->get_buf_trans initialization
...
Make sure each DDI platform has sane ->get_buf_trans initialized.
Suggested-by: Matt Roper <matthew.d.roper@intel.com >
Cc: Matt Roper <matthew.d.roper@intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220503082134.4128355-1-jani.nikula@intel.com
2022-05-04 21:39:27 +03:00
Jani Nikula
83970cd63b
Merge drm/drm-next into drm-intel-next
...
Sync up with v5.18-rc1, in particular to get 5e3094cfd9
("drm/i915/xehpsdv: Add has_flat_ccs to device info").
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
2022-04-11 16:01:56 +03:00
José Roberto de Souza
f99f556907
drm/i915/display/adlp: More voltage swing table updates
...
A few more updates in the alderlake-P voltage swing tables.
eDP HBR3 table was the same as icelake one but now it has changes for
voltage 0 and pre-emphasis 2 line.
And DP tables also had one line change in each.
Bspec: 49291
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220315205122.202701-1-jose.souza@intel.com
2022-03-21 08:30:11 -07:00
José Roberto de Souza
776c6c8343
drm/i915/display/adlp: Update eDP voltage swing table
...
Up to now alderlake-p was using the same eDP voltage swing table for
frequencies up to HBR2 as icelake but now it has its own table.
BSpec: 49291
Cc: Clinton A Taylor <clinton.a.taylor@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Matt Roper <matthew.d.roper@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220314152753.85081-1-jose.souza@intel.com
2022-03-14 13:44:51 -07:00
Tvrtko Ursulin
db927686e4
Merge drm/drm-next into drm-intel-gt-next
...
Matt needed some buddy allocator changes for landing DG2 small BAR
support patches.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
2022-02-25 13:44:44 +00:00
José Roberto de Souza
b9ef89392c
drm/i915/tgl: Simply subplatform detection
...
In the past we had a need to differentiate TGL U and TGL Y, there
was a different voltage swing table for each subplatform and some PCI
ids of this subplatforms are shared but it turned out that it was a
specification mistake and the voltage swing table was indeed the same
but we went ahead with that patch because we needed to differentiate
TGL U and Y from TGL H and by that time TGL H was embargoed so that
was the perfect way to land it upstream.
Now the embargo for TGL H is long past and now we even have
INTEL_TGL_12_GT1_IDS with all TGL H ids, so we can drop this PCI root
check and only rely in the PCI ids to differentiate TGL U and Y from
TGL H that actually has code differences.
Besides the simplification this will fix issues in virtualization
environments where the PCI root is virtualized and don't have the same
id as actual hardware.
v2:
- add and set INTEL_SUBPLATFORM_UY
Cc: Fred Gao <fred.gao@intel.com >
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
Tested-by: Yu He <yu.he@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220222141424.35165-1-jose.souza@intel.com
2022-02-23 07:41:57 -08:00
José Roberto de Souza
ef3ac01564
drm/i915/display/ehl: Update voltage swing table
...
EHL table was recently updated with some minor fixes.
BSpec: 21257
Cc: stable@vger.kernel.org
Cc: Clint Taylor <clinton.a.taylor@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220113160437.49059-1-jose.souza@intel.com
(cherry picked from commit 5ec7baef52 )
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com >
2022-01-17 10:19:36 +00:00
José Roberto de Souza
5ec7baef52
drm/i915/display/ehl: Update voltage swing table
...
EHL table was recently updated with some minor fixes.
BSpec: 21257
Cc: stable@vger.kernel.org
Cc: Clint Taylor <clinton.a.taylor@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220113160437.49059-1-jose.souza@intel.com
2022-01-13 12:03:53 -08:00
Clint Taylor
583998c5e8
drm/i915/snps: vswing value refined for SNPS phys
...
Updated new values from BSPEC.
Bspec: 53920
Cc: Jani Nikula <jani.nikula@intel.com >
Cc: José Roberto de Souza <jose.souza@intel.com >
Cc: Imre Deak <imre.deak@intel.com >
Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20220110234520.6836-1-clinton.a.taylor@intel.com
2022-01-11 10:49:30 +02:00
Jani Nikula
fbf8b5dc6d
drm/i915/ddi: add use_edp_hobl() and use_edp_low_vswing() helpers
...
Localize HOBL and low vswing VBT lookups to a couple of small helpers,
and get rid of a bunch of local variables.
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211203131318.2885969-1-jani.nikula@intel.com
2021-12-07 10:59:22 +02:00
Jani Nikula
71af6bae77
drm/i915/dg2: fix snps buf trans for uhbr
...
The UHBR check was using > instead of >=. Use the helper instead to
avoid mistakes. Also always use the non-UHBR values for HDMI.
v2: Use intel_crtc_has_dp_encoder() && intel_dp_is_uhbr() (Ville)
Fixes: 2817efaeb6 ("drm/i915/dg2: add SNPS PHY translations for UHBR link rates")
Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com >
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211007124201.18686-1-jani.nikula@intel.com
2021-10-07 20:56:10 +03:00
Ville Syrjälä
3e022c1f0a
drm/i915: Nuke intel_ddi_hdmi_num_entries()
...
Since intel_ddi_level() now looks at the buf_trans table there's
no point in having intel_ddi_hdmi_num_entries() around. Just
roll the necessary bits of locic into
intel_ddi_hdmi_level()/intel_ddi_level().
Reviewed-by: Imre Deak <imre.deak@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20211001130107.1746-8-ville.syrjala@linux.intel.com
2021-10-04 13:01:45 +03:00
Ville Syrjälä
e505d76404
drm/i915: s/ddi_translations/trans/
...
"ddi_translations" is a bit too long, let's shorten it to just "trans".
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210927182455.27119-2-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak <imre.deak@intel.com >
2021-09-30 23:48:37 +03:00
Jani Nikula
2817efaeb6
drm/i915/dg2: add SNPS PHY translations for UHBR link rates
...
UHBR link rates use different tx equalization settings. Using this will
require changes in the link training code too.
Bspec: 53920
Cc: Manasi Navare <manasi.d.navare@intel.com >
Cc: Matt Roper <matthew.d.roper@intel.com >
Reviewed-by: Matt Roper <matthew.d.roper@intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210813115151.19290-3-jani.nikula@intel.com
2021-08-13 22:32:21 +03:00
Jani Nikula
3b4da8315a
drm/i915/dg2: use existing mechanisms for SNPS PHY translations
...
We use encoder->get_buf_trans() in many places, for example
intel_ddi_dp_voltage_max(), and the hook was set to some old platform's
function for DG2 SNPS PHY. Convert SNPS PHY to use the same translation
mechanisms as everything else.
Cc: Manasi Navare <manasi.d.navare@intel.com >
Cc: Matt Roper <matthew.d.roper@intel.com >
Reviewed-by: Matt Roper <matthew.d.roper@intel.com >
Signed-off-by: Jani Nikula <jani.nikula@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210813115151.19290-2-jani.nikula@intel.com
2021-08-13 22:32:16 +03:00
Lucas De Marchi
b623aae585
drm/i915/display: remove CNL ddi buf translation tables
...
The only real platform with DISPLAY_VER == 10 is GLK. We don't need to
handle CNL explicitly.
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com >
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210729162332.1774275-1-lucas.demarchi@intel.com
2021-07-30 10:11:36 -07:00
Matt Roper
65ad82b2a3
drm/i915/adl_p: Add ddi buf translation tables for combo PHY
...
ADL-P now has its own set of DDI buf translation tables (except for eDP
which appears to be the same as TGL). Add the new values (last updated
in bspec 2021-07-22) to the driver.
v2:
- Actually hook up the new tables via encoder->get_buf_trans()
v3:
- Create extra table wrapper structures for the tables from past
platforms that we're re-using, with names that more accurately
reflect the link rate they apply to on ADL-P specifically. (Jose)
Bspec: 49291
Signed-off-by: Matt Roper <matthew.d.roper@intel.com >
Acked-by: Khaled Almahallawy <khaled.almahallawy@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210728221045.2363614-2-matthew.d.roper@intel.com
2021-07-28 23:14:20 -07:00
Matt Roper
bae6764119
drm/i915/adl_s: Update ddi buf translation tables
...
The hardware team updates the translation tables on 2021-06-23. Let's
update the driver accordingly.
Bspec: 49291
Signed-off-by: Matt Roper <matthew.d.roper@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210728221045.2363614-1-matthew.d.roper@intel.com
2021-07-28 23:14:06 -07:00
Ville Syrjälä
51565971cd
drm/i915: Add the missing adls vswing tables
...
adls is supposed to use special buf trans tables. Add what's
missing.
v2: Drop the RBR/HBR table since it's the same as for tgl
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-18-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2021-06-24 21:37:17 +03:00
Ville Syrjälä
150712dfd7
drm/i915: Nuke buf_trans hdmi functions
...
All the foo_get_buf_trans_hdmi() functions just return a single table.
Remove the pointless wrappers.
v2: Handle adl-p
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-17-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2021-06-24 21:37:07 +03:00
Ville Syrjälä
2b3bc165d0
drm/i915: Clean up jsl/ehl buf trans functions
...
The jsl/ehl buf trans functions are needlessly complicated.
Simplify them.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-16-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2021-06-24 21:36:36 +03:00
Ville Syrjälä
019d8146aa
drm/i915: Fix ehl edp hbr2 vswing table
...
EHL is supposed to use special buf trans values for eDP HBR2+.
Add such a table.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-15-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2021-06-24 21:28:43 +03:00
Ville Syrjälä
8b95b28047
drm/i915: Deduplicate icl DP HBR2 vs. eDP HBR3 table
...
The icl combo phy DP HBR2 is identical to the eDP HBR3 table.
Get rid of one redundant copy.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-14-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
2021-06-23 15:34:29 +03:00
Ville Syrjälä
5aca4881f3
drm/i915: Fix dg1 buf trans tables
...
For some reason the dg1 buf trans tables have been stuffed into
icl_get_combo_buf_trans_edp() which doesn't even get called
on dg1. Split them out into a proper dg1 specific function,
and also make sure we use the proper buf trans tables for
DP as well as eDP.
v2: Add the hobl stuff
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-13-ville.syrjala@linux.intel.com
2021-06-23 15:33:38 +03:00
Ville Syrjälä
299d49542c
drm/i915: Introduce rkl_get_combo_buf_trans()
...
Give RKL its own get_buf_trans() func.
v2: Drop the FIXME since the spec was clarified to
indicate that TGL values are used for the HDMI/eDP cases.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-12-ville.syrjala@linux.intel.com
2021-06-23 15:32:53 +03:00
Ville Syrjälä
4441a8e39b
drm/i915: Clean up hsw/bdw/skl/kbl buf trans funcs
...
Split the hsw/bdw/skl/kbl get_buf_trans() functions into
clean platform specific variants.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-11-ville.syrjala@linux.intel.com
2021-06-23 15:31:11 +03:00
Ville Syrjälä
c40a253b71
drm/i915: Introduce encoder->get_buf_trans()
...
Convert the get_buf_trans() functions into an encoder vfunc.
Allows us to get rid of bunch of platform if-ladders.
v2: Handle adl-p
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-10-ville.syrjala@linux.intel.com
2021-06-23 15:30:45 +03:00
Ville Syrjälä
d2c496f7c9
drm/i915: Store the HDMI default entry in the bug trans struct
...
Store the default HDMI buf trans entry in struct intel_ddi_buf_trans
so that it's next to the actual table. This let's us start ridding
ourselves of some platofrm specifics in intel_ddi_hdmi_num_entries().
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-9-ville.syrjala@linux.intel.com
2021-06-23 15:30:29 +03:00
Ville Syrjälä
87f7074330
drm/i915; Return the whole buf_trans struct from get_buf_trans()
...
Raise the abstraction level of the get_buf_trans() functions
a bit more by returning the whole wrapper intel_ddi_buf_trans
struct.
v2: Handle adl-p
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-8-ville.syrjala@linux.intel.com
2021-06-23 15:29:39 +03:00
Ville Syrjälä
439ebf9ef1
drm/i915: Introduce intel_get_buf_trans()
...
Add a small helper to get the buf trans entris+num_entries
from the struct. Should avoid copy-paste errors in the
platform specific get_buf_trans() functions.
@@
identifier T, N;
@@
- *N = T.num_entries;
- return T.entries;
+ return intel_get_buf_trans(&T, N);
@@
@@
is_hobl_buf_trans(...) { ... }
+
+ static const union intel_ddi_buf_trans_entry *
+ intel_get_buf_trans(const struct intel_ddi_buf_trans *ddi_translations, int *num_entries)
+ {
+ *num_entries = ddi_translations->num_entries;
+ return ddi_translations->entries;
+ }
v2: Handle adl-p
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-7-ville.syrjala@linux.intel.com
2021-06-23 15:29:15 +03:00
Ville Syrjälä
13cee3c123
drm/i915: Wrap the buf trans tables into a struct
...
Put a wrapper struct around the buf trans tables so that
we can declare the number of entries and default HDMI entry
alongside the table.
@wrap@
identifier old =~ "^.*translations.*";
fresh identifier new = "_" ## old;
type T;
@@
<...
static const T
- old
+ new
[] = {
...
};
+
+ static const struct intel_ddi_buf_trans old = {
+ .entries = new,
+ .num_entries = ARRAY_SIZE(new),
+ };
...>
@@
identifier wrap.old;
@@
(
- ARRAY_SIZE(old)
+ old.num_entries
|
- old
+ old.entries
)
@@
@@
union intel_ddi_buf_trans_entry {
...
};
+
+struct intel_ddi_buf_trans {
+ const union intel_ddi_buf_trans_entry *entries;
+ u8 num_entries;
+};
v2: Handle adl-p
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-6-ville.syrjala@linux.intel.com
2021-06-23 15:28:36 +03:00
Ville Syrjälä
4542c6cff6
drm/i915: Rename dkl phy buf trans tables
...
Rename the dkl phy buf trans tables to follow the same
naming pattern used by everyone else.
v2: Handle adl-p
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-5-ville.syrjala@linux.intel.com
2021-06-23 15:28:23 +03:00
Ville Syrjälä
30e0afa557
drm/i915: Wrap the platform specific buf trans structs into a union
...
In order to abstact the buf trans stuff let's wrap the platform
specific structs into a union.
v2: Handle adl-p
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-4-ville.syrjala@linux.intel.com
2021-06-23 15:28:03 +03:00
Ville Syrjälä
d6b10b1ae4
drm/i915: Introduce hsw_get_buf_trans()
...
All the other platforms handle the output_type stuff in their
*_get_buf_trans() functions. Do the same for hsw/bdw/skl.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-3-ville.syrjala@linux.intel.com
2021-06-23 15:27:40 +03:00
Ville Syrjälä
266152ae61
drm/i915: s/intel/hsw/ for hsw/bdw/skl buf trans
...
Give the hsw/bdw/skl buf trans stuff a better namespace.
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210608073603.2408-2-ville.syrjala@linux.intel.com
2021-06-23 15:27:26 +03:00
Lucas De Marchi
6f20785b76
drm/i915/display: fix typo when returning table
...
Fix table returned when port_clock > 270000:
drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c:752:47: error: variable 'adlp_dkl_phy_dp_ddi_trans_hbr2_hbr3' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration]
Initial version of the patch had it in a single table, but on second
version the table got split, but we continued to reference just one of
them.
Fixes: ca96288226 ("drm/i915/adl_p: Define and use ADL-P specific DP translation tables")
Reported-by: kernel test robot <lkp@intel.com >
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com >
Reviewed-by: Anusha Srivatsa <anusha.srivatsa@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210521005209.4058702-1-lucas.demarchi@intel.com
2021-05-24 23:20:57 -07:00
Mika Kahola
ca96288226
drm/i915/adl_p: Define and use ADL-P specific DP translation tables
...
Define and use DP voltage swing and pre-emphasis translation tables
for ADL-P.
v2:
- Update according to recent bspec updates; there are now separate
tables for RBR/HBR and HBR2/HBR3. (Anusha)
BSpec: 54956
Cc: Imre Deak <imre.deak@intel.com >
Signed-off-by: Mika Kahola <mika.kahola@intel.com >
Signed-off-by: Clinton Taylor <Clinton.A.Taylor@intel.com >
Signed-off-by: Matt Roper <matthew.d.roper@intel.com >
Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com >
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210519000625.3184321-14-lucas.demarchi@intel.com
2021-05-19 23:59:29 -07:00
Ville Syrjälä
7785ae0b51
drm/i915: Don't include intel_de.h from intel_display_types.h
...
Hoist the intel_de.h include from intel_display_types.h one
level up. I need this in order to untangle the include order
so that I can add tracepoints into intel_de.h.
This little cocci script did most of the work for me:
@find@
@@
(
intel_de_read(...)
|
intel_de_read_fw(...)
|
intel_de_write(...)
|
intel_de_write_fw(...)
)
@has_include@
@@
(
#include "intel_de.h"
|
#include "display/intel_de.h"
)
@depends on find && !has_include@
@@
+ #include "intel_de.h"
#include "intel_display_types.h"
@depends on find && !has_include@
@@
+ #include "display/intel_de.h"
#include "display/intel_display_types.h"
Cc: Cooper Chiou <cooper.chiou@intel.com >
Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com >
Reviewed-by: Jani Nikula <jani.nikula@intel.com >
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com >
Link: https://patchwork.freedesktop.org/patch/msgid/20210430143945.6776-1-ville.syrjala@linux.intel.com
2021-05-05 21:04:42 +03:00