Skip to content
  1. Dec 18, 2019
  2. Dec 17, 2019
    • Chris Wilson's avatar
      drm/i915/gem: Keep request alive while attaching fences · e14177f1
      Chris Wilson authored
      Since commit e5dadff4 ("drm/i915: Protect request retirement with
      timeline->mutex"), the request retirement can happen outside of the
      struct_mutex serialised only by the timeline->mutex. We drop the
      timeline->mutex on submitting the request (i915_request_add) so after
      that point, it is liable to be freed. Make sure our local reference is
      kept alive until we have finished attaching it to the signalers. (Note
      that this erodes the argument that i915_request_add should consume the
      reference, but that is a slightly larger patch!)
      
      Fixes: e5dadff4
      
       ("drm/i915: Protect request retirement with timeline->mutex")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191217134729.3297818-1-chris@chris-wilson.co.uk
      e14177f1
    • Hans de Goede's avatar
      drm/i915: DSI: select correct PWM controller to use based on the VBT · b6941311
      Hans de Goede authored
      
      
      At least Bay Trail (BYT) and Cherry Trail (CHT) devices can use 1 of 2
      different PWM controllers for controlling the LCD's backlight brightness.
      Either the one integrated into the PMIC or the one integrated into the
      SoC (the 1st LPSS PWM controller).
      
      So far in the LPSS code on BYT we have skipped registering the LPSS PWM
      controller "pwm_backlight" lookup entry when a Crystal Cove PMIC is
      present, assuming that in this case the PMIC PWM controller will be used.
      
      On CHT we have been relying on only 1 of the 2 PWM controllers being
      enabled in the DSDT at the same time; and always registered the lookup.
      
      So far this has been working, but the correct way to determine which PWM
      controller needs to be used is by checking a bit in the VBT table and
      recently I've learned about 2 different BYT devices:
      Point of View MOBII TAB-P800W
      Acer Switch 10 SW5-012
      
      Which use a Crystal Cove PMIC, yet the LCD is connected to the SoC/LPSS
      PWM controller (and the VBT correctly indicates this), so here our old
      heuristics fail.
      
      This commit fixes using the wrong PWM controller on these devices by
      calling pwm_get() for the right PWM controller based on the
      VBT dsi.config.pwm_blc bit.
      
      Note this is part of a series which contains 2 other patches which renames
      the PWM lookup for the 1st SoC/LPSS PWM from "pwm_backlight" to
      "pwm_pmic_backlight" and the PWM lookup for the Crystal Cove PMIC PWM
      from "pwm_backlight" to "pwm_pmic_backlight".
      
      Acked-by: default avatarJani Nikula <jani.nikula@intel.com>
      Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191216202906.1662893-4-hdegoede@redhat.com
      b6941311
    • Hans de Goede's avatar
      mfd: intel_soc_pmic: Rename pwm_backlight pwm-lookup to pwm_pmic_backlight · 2f093958
      Hans de Goede authored
      
      
      At least Bay Trail (BYT) and Cherry Trail (CHT) devices can use 1 of 2
      different PWM controllers for controlling the LCD's backlight brightness.
      
      Either the one integrated into the PMIC or the one integrated into the
      SoC (the 1st LPSS PWM controller).
      
      So far in the LPSS code on BYT we have skipped registering the LPSS PWM
      controller "pwm_backlight" lookup entry when a Crystal Cove PMIC is
      present, assuming that in this case the PMIC PWM controller will be used.
      
      On CHT we have been relying on only 1 of the 2 PWM controllers being
      enabled in the DSDT at the same time; and always registered the lookup.
      
      So far this has been working, but the correct way to determine which PWM
      controller needs to be used is by checking a bit in the VBT table and
      recently I've learned about 2 different BYT devices:
      Point of View MOBII TAB-P800W
      Acer Switch 10 SW5-012
      
      Which use a Crystal Cove PMIC, yet the LCD is connected to the SoC/LPSS
      PWM controller (and the VBT correctly indicates this), so here our old
      heuristics fail.
      
      Since only the i915 driver has access to the VBT, this commit renames
      the "pwm_backlight" lookup entries for the Crystal Cove PMIC's PWM
      controller to "pwm_pmic_backlight" so that the i915 driver can do a
      pwm_get() for the right controller depending on the VBT bit, instead of
      the i915 driver relying on a "pwm_backlight" lookup getting registered
      which magically points to the right controller.
      
      Acked-by: default avatarJani Nikula <jani.nikula@intel.com>
      Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Acked-by: default avatarLee Jones <lee.jones@linaro.org>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191216202906.1662893-3-hdegoede@redhat.com
      2f093958
    • Hans de Goede's avatar
      ACPI / LPSS: Rename pwm_backlight pwm-lookup to pwm_soc_backlight · b2147a3a
      Hans de Goede authored
      
      
      At least Bay Trail (BYT) and Cherry Trail (CHT) devices can use 1 of 2
      different PWM controllers for controlling the LCD's backlight brightness.
      Either the one integrated into the PMIC or the one integrated into the
      SoC (the 1st LPSS PWM controller).
      
      So far in the LPSS code on BYT we have skipped registering the LPSS PWM
      controller "pwm_backlight" lookup entry when a Crystal Cove PMIC is
      present, assuming that in this case the PMIC PWM controller will be used.
      
      On CHT we have been relying on only 1 of the 2 PWM controllers being
      enabled in the DSDT at the same time; and always registered the lookup.
      
      So far this has been working, but the correct way to determine which PWM
      controller needs to be used is by checking a bit in the VBT table and
      recently I've learned about 2 different BYT devices:
      Point of View MOBII TAB-P800W
      Acer Switch 10 SW5-012
      
      Which use a Crystal Cove PMIC, yet the LCD is connected to the SoC/LPSS
      PWM controller (and the VBT correctly indicates this), so here our old
      heuristics fail.
      
      Since only the i915 driver has access to the VBT, this commit renames
      the "pwm_backlight" lookup entries for the 1st BYT/CHT LPSS PWM controller
      to "pwm_soc_backlight" so that the i915 driver can do a pwm_get() for
      the right controller depending on the VBT bit, instead of the i915 driver
      relying on a "pwm_backlight" lookup getting registered which magically
      points to the right controller.
      
      Acked-by: default avatarJani Nikula <jani.nikula@intel.com>
      Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191216202906.1662893-2-hdegoede@redhat.com
      b2147a3a
    • Chris Wilson's avatar
      drm/i915/gt: Avoid multi-LRI on Sandybridge · 796ef2ef
      Chris Wilson authored
      Sandybridge is the gen that didn't handle multiple registers in a single
      LRI packet. Don't forget it!
      
      Fixes: 902eb748
      
       ("drm/i915/gt: Tidy up full-ppgtt on Ivybridge")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Tested-by: default avatarTomi Sarvela <tomi.p.sarvela@intel.com>
      Acked-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191217091328.3093551-1-chris@chris-wilson.co.uk
      796ef2ef
    • Chris Wilson's avatar
      drm/i915: Eliminate the trylock for awaiting an earlier request · 9ddc8ec0
      Chris Wilson authored
      
      
      We currently use an error-prone mutex_trylock to grab another timeline
      to find an earlier request along it. However, with a bit of a
      sleight-of-hand, we can reduce the mutex_trylock to a spin_lock on the
      immediate request and careful pointer chasing to acquire a reference on
      the previous request.
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191216165317.2742896-1-chris@chris-wilson.co.uk
      9ddc8ec0
    • Maya Rashish's avatar
      Correct function name in comment · f8b74877
      Maya Rashish authored
      
      
      Signed-off-by: default avatarMaya Rashish <coypu@sdf.org>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191213102630.GA24082@SDF.ORG
      f8b74877
    • Chris Wilson's avatar
      drm/i915/gt: Tidy up full-ppgtt on Ivybridge · 902eb748
      Chris Wilson authored
      
      
      With a couple more memory barriers dotted around the place we can
      significantly reduce the MTBF on Ivybridge. Still doesn't really help
      Haswell though.
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
      Acked-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191216142409.2605211-1-chris@chris-wilson.co.uk
      902eb748
    • Chris Wilson's avatar
      drm/i915/gem: Apply lmem size restriction to get_pages · 0a9a5532
      Chris Wilson authored
      
      
      When creating a handle, it is just that, an abstract handle. The fact
      that we cannot currently support a handle larger than the size of the
      backing storage is an artifact of our whole-object-at-a-time handling in
      get_pages() and being an implementation limitation is best handled at
      that point -- similar to shmem, where we only barf when asked to
      populate the whole object if larger than RAM. (Pinning the whole object
      at a time is major hindrance that we are likely to have to overcome in
      the near future.) In the case of the buddy allocator, the late check is
      preferable as the request size may often be smaller than the required
      size.
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Matthew Auld <matthew.auld@intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191216122603.2598155-1-chris@chris-wilson.co.uk
      0a9a5532
    • Venkata Sandeep Dhanalakota's avatar
      drm/i915: Fix typecheck macro in GT_TRACE · 88405440
      Venkata Sandeep Dhanalakota authored
      typecheck() macro creates an huge stack size causing
      issues with static analysis with coverity, addressing
      this with creating a local pointer.
      
      Fixes: 639f2f24
      
       ("drm/i915: Introduce new macros for tracing")
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarVenkata Sandeep Dhanalakota <venkata.s.dhanalakota@intel.com>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191216185332.83289-1-venkata.s.dhanalakota@intel.com
      88405440
    • zhengbin's avatar
      drm/i915: Remove unneeded semicolon · 8b4f2925
      zhengbin authored
      
      
      Fixes coccicheck warning:
      
      drivers/gpu/drm/i915/gem/i915_gem_region.c:88:2-3: Unneeded semicolon
      drivers/gpu/drm/i915/gvt/gtt.c:1285:2-3: Unneeded semicolon
      
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarzhengbin <zhengbin13@huawei.com>
      Acked-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/1576467845-60920-1-git-send-email-zhengbin13@huawei.com
      8b4f2925
    • Vandita Kulkarni's avatar
      drm/i915: Fix WARN_ON condition for cursor plane ddb allocation · 4ba48701
      Vandita Kulkarni authored
      In some cases like latency[level]==0, wm[level].res_lines>31,
      min_ddb_alloc can be U16_MAX, exclude it from the WARN_ON.
      
      v2: Specify the cases in which we hit U16_MAX, indentation (Ville)
      
      Fixes: 10a7e07b
      
       ("drm/i915: Make sure cursor has enough ddb for the selected wm level")
      Suggested-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarVandita Kulkarni <vandita.kulkarni@intel.com>
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191216080619.10945-1-vandita.kulkarni@intel.com
      4ba48701
    • Hans de Goede's avatar
      drm/i915: opregion: set opregion chpd value to indicate the driver handles hotplug · 6fb0a14f
      Hans de Goede authored
      
      
      According to both the old acpi_igd_opregion_spec_0.pdf and the newer
      skl_opregion_rev0p5.pdf opregion specification documents, if a driver
      handles hotplug events itself, it should set the opregion CHPD field to
      1 to indicate this and the firmware should respond to this by no longer
      sending ACPI 0x00 notification events on e.g. lid-state changes.
      
      Specifically skl_opregion_rev0p5.pdf states thid in the documentation of
      the CHPD word: "Re-enumeration trigger logic in System BIOS MUST be
      disabled for all the Operating Systems supporting Hot-Plug
      (e.g., Windows* Longhorn and above)." Note the MUST in there.
      
      We ignore these notifications, so this should not be a problem but many
      recent DSTDs seem to all have the same copy-pasted bug in the GNOT() AML
      function which is used to send these notifications. Windows likely does not
      hit this bug as it presumably correcty sets CHPD to 1.
      
      Here is an example of the broken GNOT() method:
      
                  Method (GNOT, 2, NotSerialized)
                  {
                      ...
                      CEVT = Arg0
                      CSTS = 0x03
                      If (((CHPD == Zero) && (Arg1 == Zero)))
                      {
                          If (((OSYS > 0x07D0) || (OSYS < 0x07D6)))
                          {
                              Notify (PCI0, Arg1)
                          }
                          Else
                          {
                              Notify (GFX0, Arg1)
                          }
                      }
                      ...
      
      Notice that the condition for the If is always true I believe that the
      || like needs to be an &&, but there is nothing we can do about this and
      in my own DSDT archive 55 of the 93 DSDTs have this issue.
      
      When the if is true the notification gets send to the PCI root instead
      of only to the GFX0 device. This causes Linux to re-enumerate PCI devices
      whenever the LID opens / closes, leading to unexpected messages in dmesg:
      
      Suspend through lid close:
      [  313.598199] intel_atomisp2_pm 0000:00:03.0: Refused to change power state, currently in D3
      [  313.664453] intel_atomisp2_pm 0000:00:03.0: Refused to change power state, currently in D3
      [  313.737982] pci_bus 0000:01: Allocating resources
      [  313.738036] pcieport 0000:00:1c.0: bridge window [io  0x1000-0x0fff] to [bus 01] add_size 1000
      [  313.738051] pcieport 0000:00:1c.0: bridge window [mem 0x00100000-0x000fffff 64bit pref] to [bus 01] add_size 200000 add_align 100000
      [  313.738111] pcieport 0000:00:1c.0: BAR 15: assigned [mem 0x91000000-0x911fffff 64bit pref]
      [  313.738128] pcieport 0000:00:1c.0: BAR 13: assigned [io  0x1000-0x1fff]
      
      Resume:
      [  813.623894] pci 0000:00:03.0: [8086:22b8] type 00 class 0x048000
      [  813.623955] pci 0000:00:03.0: reg 0x10: [mem 0x00000000-0x003fffff]
      [  813.630477] pci 0000:00:03.0: BAR 0: assigned [mem 0x91c00000-0x91ffffff]
      [  854.579101] intel_atomisp2_pm 0000:00:03.0: Refused to change power state, currently in D3
      
      And more importantly this re-enumeration races with suspend/resume causing
      enumeration to not be complete  when assert_isp_power_gated() from
      drivers/gpu/drm/i915/display/intel_display_power.c runs. This causes
      the !pci_dev_present(isp_ids) check in assert_isp_power_gated() to fail
      making the condition for the WARN true, leading to:
      
      [  813.327886] ------------[ cut here ]------------
      [  813.327898] ISP not power gated
      [  813.328028] WARNING: CPU: 2 PID: 2317 at drivers/gpu/drm/i915/display/intel_display_power.c:4870 intel_display_print_error_state+0x2b98/0x3a80 [i915]
      ...
      [  813.328599] ---[ end trace f01e81b599596774 ]---
      
      This commit fixes the unwanted ACPI notification on the PCI root device
      by setting CHPD to 1, so that the broken if condition in the AML never
      gets checked as notifications of type 0x00 are disabled altogether.
      
      Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191212204828.191288-1-hdegoede@redhat.com
      6fb0a14f
  3. Dec 14, 2019
    • Chris Wilson's avatar
      drm/i915/gem: Serialise object before changing cache-level · 7a90f899
      Chris Wilson authored
      Wait for the object to be idle before changing its cache-level and
      unbinding. This was dropped as supposedly superfluous from commit
      8b1c78e0 ("drm/i915: Avoid calling i915_gem_object_unbind holding
      object lock"), but it turns out to prevent some cache dirt escaping.
      Smells like papering over a race...
      
      Closes: https://gitlab.freedesktop.org/drm/intel/issues/820
      Fixes: 8b1c78e0
      
       ("drm/i915: Avoid calling i915_gem_object_unbind holding object lock")
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Andi Shyti <andi.shyti@intel.com>
      Acked-by: default avatarAndi Shyti <andi.shyti@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191213223140.1830738-1-chris@chris-wilson.co.uk
      7a90f899
    • Jani Nikula's avatar
      drm/i915/dsi: fix pipe D readout for DSI transcoders · 9c569784
      Jani Nikula authored
      Commit 4d89adc7 ("drm/i915/display/dsi: Add support to pipe D")
      added pipe D support for DSI, but failed to update the state readout.
      
      Fixes: 4d89adc7
      
       ("drm/i915/display/dsi: Add support to pipe D")
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Cc: José Roberto de Souza <jose.souza@intel.com>
      Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
      Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
      Reviewed-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191211110844.2996-1-jani.nikula@intel.com
      9c569784
    • Lucas De Marchi's avatar
      drm/i915/bios: remove extra debug messages · f9b3b8c6
      Lucas De Marchi authored
      Just like in commit 523e0cc8
      
       ("drm/i915/tgl: allow DVI/HDMI on port
      A"), the port checks when reading the VBT can easily not match what the
      platform really exposes. However here we only have some additional debug
      messages that are not adding much value: in the previous debug message
      we already print everything we know about the VBT.
      
      Instead of keep fixing the possible port assignments according to the
      platform, just nuke the additional messages.
      
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Reviewed-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Acked-by: default avatarJani Nikula <jani.nikula@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191206190552.8818-1-lucas.demarchi@intel.com
      f9b3b8c6
    • Andi Shyti's avatar
      drm/i915/rps: Add frequency translation helpers · e03512ed
      Andi Shyti authored
      
      
      Add two helpers that for reading the actual GT's frequency. The
      two helpers are:
      
       - intel_rps_read_cagf: reads the frequency and returns it not
         normalized
      
       - intel_rps_read_actual_frequency: provides the frequency in Hz.
      
      Use the above helpers in sysfs and debugfs.
      
      Signed-off-by: default avatarAndi Shyti <andi.shyti@intel.com>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191213183736.31992-2-andi@etezian.org
      e03512ed
    • Chris Wilson's avatar
      drm/i915: Use EAGAIN for trylock failures · f1925f33
      Chris Wilson authored
      While not good behaviour, it is, however, established behaviour that we
      can punt EAGAIN to userspace if we need to retry the ioctl. When trying
      to acquire a mutex, prefer to use EAGAIN to propagate losing the race
      so that if it does end up back in userspace, we try again.
      
      Fixes: c81471f5
      
       ("drm/i915: Copy across scheduler behaviour flags across submit fences")
      Closes: https://gitlab.freedesktop.org/drm/intel/issues/800
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191213160347.1789004-1-chris@chris-wilson.co.uk
      f1925f33
    • Venkata Sandeep Dhanalakota's avatar
      drm/i915: Introduce new macros for tracing · 639f2f24
      Venkata Sandeep Dhanalakota authored
      
      
      New macros ENGINE_TRACE(), CE_TRACE(), RQ_TRACE() and
      GT_TRACE() are introduce to tag device name and engine
      name with contexts and requests tracing in i915.
      
      Cc: Sudeep Dutt <sudeep.dutt@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarVenkata Sandeep Dhanalakota <venkata.s.dhanalakota@intel.com>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191213155152.69182-2-venkata.s.dhanalakota@intel.com
      639f2f24
    • Venkata Sandeep Dhanalakota's avatar
      drm/i915/perf: Register sysctl path globally · 3dc716fd
      Venkata Sandeep Dhanalakota authored
      
      
      We do not require to register the sysctl paths per instance,
      so making registration global.
      
      v2: make sysctl path register and unregister function driver
          specific (Tvrtko and Lucas).
      
      Cc: Sudeep Dutt <sudeep.dutt@intel.com>
      Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: Jani Nikula <jani.nikula@intel.com>
      Signed-off-by: default avatarVenkata Sandeep Dhanalakota <venkata.s.dhanalakota@intel.com>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191213155152.69182-1-venkata.s.dhanalakota@intel.com
      3dc716fd
    • Matt Roper's avatar
      drm/i915/icl: Cleanup combo PHY aux power well handlers · b69fa361
      Matt Roper authored
      
      
      Now that the combo PHY aux power well handlers are used exclusively on
      Icelake, we can drop a bunch of the extra tests.
      
      v2: Don't try to use intel_uncore_rmw for register updates yet; there's
          pending display uncore patches that need to land first.  (Lucas)
      
      v3: Drop the combo phy assertion.  It was backward before, but doesn't
          seem terribly necessary.  I'm keeping the IS_ICELAKE assertion
          though since we often copy/paste/modify the power well tables when
          defining new platforms and it's too easy to cargo cult the
          ICL-specific handling to new platforms that shouldn't use it.
          (Lucas)
      
      v4: Fix build; forgot to commit all the changes.  (CI)
      
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191213010600.701315-1-matthew.d.roper@intel.com
      Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      b69fa361
    • Matt Roper's avatar
      drm/i915/tgl: Drop Wa#1178 · ab340258
      Matt Roper authored
      The TGL workaround database no longer shows Wa #1178 (or anything
      similar under different workaround names/numbers) so we should be able
      to drop it.  In fact Swati just discovered that applying this workaround
      is the root cause of some power well enable failures we've been seeing
      in CI (gitlab issue 498).
      
      Once we stop applying this WA, TGL no longer utilizes any of the special
      handling provided by icl_combo_phy_aux_power_well_ops so we can just
      drop back to using the standard hsw-style power well ops instead.
      
      v3: Drop now-unused _TGL_AUX_ANAOVRD1_C definition too.  (Lucas)
      
      Closes: https://gitlab.freedesktop.org/drm/intel/issues/498
      Fixes: deea06b4
      
       ("drm/i915/tgl: apply Display WA #1178 to fix type C dongles")
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Cc: Swati Sharma <swati2.sharma@intel.com>
      Cc: Imre Deak <imre.deak@intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191213001511.678070-3-matthew.d.roper@intel.com
      ab340258
    • Matt Roper's avatar
      drm/i915/ehl: Define EHL powerwells independently of ICL · e8ab8d66
      Matt Roper authored
      Outputs C and D on EHL are combo PHY outputs and thus should not be
      using the same TC AUX power well handlers as ICL.  And even though
      icl_combo_phy_aux_power_well_ops works okay for EHL/JSL combo PHYs none
      of its special handling is actually necessary for this platform:
       * EHL/JSL don't actually need to program PORT_CL_DW12
       * Display WA #1178 does not apply to EHL/JSL
      
      Thus we can simply drop back to using our standard "hsw-style" power
      well ops for EHL AUX power wells.
      
      Bspec: 4301
      Fixes: f722b8c1
      
       ("drm/i915/ehl: All EHL ports are combo phys")
      Cc: Jose Souza <jose.souza@intel.com>
      Cc: Bob Paauwe <bob.j.paauwe@intel.com>
      Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
      Cc: Lucas De Marchi <lucas.demarchi@intel.com>
      Signed-off-by: default avatarMatt Roper <matthew.d.roper@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20191213001511.678070-2-matthew.d.roper@intel.com
      Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      e8ab8d66
  4. Dec 13, 2019
  5. Dec 12, 2019