1. 12 Jul, 2024 2 commits
    • Rafael J. Wysocki's avatar
      thermal: trip: Fold __thermal_zone_get_trip() into its caller · 5b674baa
      Rafael J. Wysocki authored
      Because __thermal_zone_get_trip() is only called by thermal_zone_get_trip()
      now, fold the former into the latter.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Link: https://patch.msgid.link/22339769.EfDdHjke4D@rjwysocki.net
      5b674baa
    • Rafael J. Wysocki's avatar
      thermal: trip: Pass trip pointer to .set_trip_temp() thermal zone callback · 0728c810
      Rafael J. Wysocki authored
      Out of several drivers implementing the .set_trip_temp() thermal zone
      operation, three don't actually use the trip ID argument passed to it,
      two call __thermal_zone_get_trip() to get a struct thermal_trip
      corresponding to the given trip ID, and the other use the trip ID as an
      index into their own data structures with the assumption that it will
      always match the ordering of entries in the trips table passed to the
      core during thermal zone registration, which is fragile and not really
      guaranteed.
      
      Even though the trip IDs used by the core are in fact their indices in the
      trips table passed to it by the thermal zone creator, that is purely a
      matter of convenience and should not be relied on for correctness.
      
      For this reason, modify trip_point_temp_store() to pass a (const) trip
      pointer to .set_trip_temp() and adjust the drivers implementing it
      accordingly.
      
      This helps to simplify the drivers invoking __thermal_zone_get_trip()
      from their .set_trip_temp() callback functions because they will not
      need to do it now and the other drivers can store their internal
      trip indices in the priv field in struct thermal_trip and their
      .set_trip_temp() callback functions can get those indices from there.
      
      The intel_quark_dts thermal driver can instead use the trip type to
      determine the requisite trip index.
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Link: https://patch.msgid.link/8392906.T7Z3S40VBb@rjwysocki.net
      [ rjw: Add missing colon and 2 empty code lines ]
      [ rjw: Add missing change in imx_thermal.c and adjust the changelog ]
      [ rjw: Drop an unused local variable ]
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      0728c810
  2. 10 Jul, 2024 1 commit
  3. 09 Jul, 2024 3 commits
  4. 04 Jul, 2024 2 commits
  5. 27 Jun, 2024 1 commit
  6. 25 Jun, 2024 2 commits
    • Rafael J. Wysocki's avatar
      Merge branch 'thermal-core' · 06d55c42
      Rafael J. Wysocki authored
      Merge thermal core changes for v6.11:
      
       - Fix and clean up several minor shortcomings in thermal debug (Rafael
         Wysocki).
      
       - Rename __thermal_zone_set_trips() to thermal_zone_set_trips() and
         make it use trip thresholds (Rafael Wysocki).
      
       - Use READ_ONCE() for lockless access to trip temperature and
         hysteresis (Rafael Wysocki).
      
       - Drop unnecessary cooling device target state checks from the
         Bang-Bang thermal governor (Rafael Wysocki).
      
       - Avoid invoking thermal governor .trip_crossed() callback for critical
         and hot trip points (Rafael Wysocki).
      
      * thermal-core:
        thermal: core: Avoid calling .trip_crossed() for critical and hot trips
        thermal: gov_bang_bang: Drop unnecessary cooling device target state checks
        thermal: trip: Use READ_ONCE() for lockless access to trip properties
        thermal: trip: Make thermal_zone_set_trips() use trip thresholds
        thermal: trip: Rename __thermal_zone_set_trips() to thermal_zone_set_trips()
        thermal: trip: Use common set of trip type names
        thermal/debugfs: Move some statements from under thermal_dbg->lock
        thermal/debugfs: Compute maximum temperature for mitigation episode as a whole
        thermal/debugfs: Adjust check for trips without statistics in tze_seq_show()
        thermal/debugfs: Fix up units in "mitigations" files
        thermal/debugfs: Print mitigation timestamp value in milliseconds
        thermal/debugfs: Do not extend mitigation episodes beyond system resume
        thermal/debugfs: Use helper to update trip point overstepping duration
      06d55c42
    • Rafael J. Wysocki's avatar
      thermal: gov_step_wise: Go straight to instance->lower when mitigation is over · 52903814
      Rafael J. Wysocki authored
      Commit b6846826 ("thermal: gov_step_wise: Restore passive polling
      management") attempted to fix a Step-Wise thermal governor issue
      introduced by commit 042a3d80 ("thermal: core: Move passive polling
      management to the core"), which caused the governor to leave cooling
      devices in high states, by partially reverting that commit.
      
      However, this turns out to be insufficient on some systems due to
      interactions between the governor code restored by commit b6846826
      and the passive polling management in the thermal core.
      
      For this reason, revert commit b6846826 and make the governor set
      the target cooling device state to the "lower" one as soon as the zone
      temperature falls below the threshold of the trip point corresponding
      to the given thermal instance, which means that thermal mitigation is
      not necessary any more.
      
      Before this change the "lower" cooling device state would be reached in
      steps through the passive polling mechanism which was questionable for
      three reasons: (1) cooling device were kept in high states when that was
      not necessary (and it could adversely impact performance), (2) it only
      worked for thermal zones with nonzero passive_delay_jiffies value, and
      (3) passive polling belongs to the core and should not be hijacked by
      governors for their internal purposes.
      
      Fixes: b6846826 ("thermal: gov_step_wise: Restore passive polling management")
      Closes: https://lore.kernel.org/linux-pm/6759ce9f-281d-4fcd-bb4c-b784a1cc5f6e@oldschoolsolutions.bizReported-by: default avatarJens Glathe <jens.glathe@oldschoolsolutions.biz>
      Tested-by: default avatarJens Glathe <jens.glathe@oldschoolsolutions.biz>
      Link: https://patch.msgid.link/12464461.O9o76ZdvQC@rjwysocki.netSigned-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Tested-by: default avatarSteev Klimaszewski <steev@kali.org>
      Tested-by: default avatarJohan Hovold <johan+linaro@kernel.org>
      52903814
  7. 23 Jun, 2024 8 commits
  8. 22 Jun, 2024 19 commits
  9. 21 Jun, 2024 2 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 35bb670d
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Two fixes: one in the ufs driver fixing an obvious memory leak and the
        other (with a core flag based update) trying to prevent USB crashes by
        stopping the core from issuing a request for the I/O Hints mode page"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: usb: uas: Do not query the IO Advice Hints Grouping mode page for USB/UAS devices
        scsi: core: Introduce the BLIST_SKIP_IO_HINTS flag
        scsi: ufs: core: Free memory allocated for model before reinit
      35bb670d
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2024-06-22' of https://gitlab.freedesktop.org/drm/kernel · d6c94157
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Still pretty quiet, two weeks worth of amdgpu fixes, with one i915 and
        one xe. I didn't get the drm-misc-fixes tree PR this week, but there
        was only one fix queued and I think it can wait another week, so seems
        pretty normal.
      
        xe:
         - Fix for invalid register access
      
        i915:
         - Fix conditions for joiner usage, it's not possible with eDP MSO
      
        amdgpu:
         - Fix display idle optimization race
         - Fix GPUVM TLB flush locking scope
         - IPS fix
         - GFX 9.4.3 harvesting fix
         - Runtime pm fix for shared buffers
         - DCN 3.5.x fixes
         - USB4 fix
         - RISC-V clang fix
         - Silence UBSAN warnings
         - MES11 fix
         - PSP 14.0.x fix"
      
      * tag 'drm-fixes-2024-06-22' of https://gitlab.freedesktop.org/drm/kernel:
        drm/xe/vf: Don't touch GuC irq registers if using memory irqs
        drm/amdgpu: init TA fw for psp v14
        drm/amdgpu: cleanup MES11 command submission
        drm/amdgpu: fix UBSAN warning in kv_dpm.c
        drm/radeon: fix UBSAN warning in kv_dpm.c
        drm/amd/display: Disable CONFIG_DRM_AMD_DC_FP for RISC-V with clang
        drm/amd/display: Attempt to avoid empty TUs when endpoint is DPIA
        drm/amd/display: change dram_clock_latency to 34us for dcn35
        drm/amd/display: Change dram_clock_latency to 34us for dcn351
        drm/amdgpu: revert "take runtime pm reference when we attach a buffer" v2
        drm/amdgpu: Indicate CU havest info to CP
        drm/amd/display: prevent register access while in IPS
        drm/amdgpu: fix locking scope when flushing tlb
        drm/amd/display: Remove redundant idle optimization check
        drm/i915/mso: using joiner is not possible with eDP MSO
      d6c94157