Skip to content
  1. Oct 11, 2023
  2. Oct 09, 2023
  3. Sep 29, 2023
  4. Sep 27, 2023
  5. Sep 25, 2023
    • Kamal Agrawal's avatar
      msm: kgsl: Honor power level constraint from user properly · 953b1826
      Kamal Agrawal authored
      
      Consider below sequence from userspace:
      1. Set minimum power level to 0
      2. Force minimum power level constraint from a context
      3. Submit commands from that context
      => _adjust_pwrlevel() returns 0 as min and max pwrlevels are
      forced to 0. This sets pwrc_old->hint.pwrlevel.level to 0.
      4. Set minimum power level to default value
      5. Before the first constraint expires, force maximum power
      level constraint from another context
      => Since constraint type is not none and pwrc_old->hint.pwrlevel.level
      is same as return value from _adjust_pwrlevel() i.e., 0, power level
      update doesn't happen.
      
      Long story short, there exist races when both power level related
      sysfs and constraints are modified.
      
      To address these races, update the condition to set a new constraint
      if the requested constraint is max and active constraint is min.
      Update the ownership and timestamp always if old constraint is same
      as requested constraint to avoid pre-mature constraint removal.
      
      Change-Id: Id2b501fe714c51c4a5a511f88fb3ae0d244f3db6
      Signed-off-by: default avatarKamal Agrawal <quic_kamaagra@quicinc.com>
      953b1826
  6. Sep 22, 2023
    • Lynus Vaz's avatar
      msm: kgsl: Use a hint to improve gpuaddr allocation time · 963cde2c
      Lynus Vaz authored
      
      GPU VAs are allocated by looking for the first fit. In some allocation
      patterns we might spend time looking for a hole. Instead, store a hint
      based on the last allocated gpuaddr and use this to improve the search
      time. Since this may result in VA space fragmentation do not use this hint
      if limited to a 32-bit address space, or on global and secure pagetables.
      
      CRs-Fixed: 3618766
      
      Change-Id: Ib17bc300f53e2eaae578872a8665e5c36ae30fcf
      Signed-off-by: default avatarLynus Vaz <quic_lvaz@quicinc.com>
      963cde2c
  7. Sep 21, 2023
  8. Sep 19, 2023
  9. Sep 12, 2023
  10. Sep 11, 2023
  11. Sep 07, 2023
  12. Sep 06, 2023
  13. Sep 05, 2023
    • Kaushal Sanadhya's avatar
      msm: kgsl: Disable fast_bus_hint on Gen7_14_0 gpu · aef73187
      Kaushal Sanadhya authored
      
      Make avoid_ddr_stall flag target specific and convert it to
      'fast_bus_hint' flag. Disable it on Gen7_14_0 gpu as it is not
      recommended.
      
      Change-Id: Ied9ce988e2058b2631c80b4a66964a6a88acc6b1
      Signed-off-by: default avatarAkhil P Oommen <quic_akhilpo@quicinc.com>
      Signed-off-by: default avatarKaushal Sanadhya <quic_ksanadhy@quicinc.com>
      aef73187
    • Akhil P Oommen's avatar
      msm: kgsl: Fix power regression due to IB vote · 387ce271
      Akhil P Oommen authored
      
      Recently, there was a fix for a gpu bw starvation issue in a gen7 gpu.
      This fix increases the GPU IB vote when gpu is at the lowest opp corner
      and when it detects a high 'ram wait' above a particular threshold.
      
      Some GPUs are less capable in terms of ddr channels, system cache,
      smmu tbu size etc. So it is natural to see a much higher 'ram waits'
      on these gpus. Due to this, there is now a very high IB vote in some
      a6xx GPUs causing severe power regression in some use cases.
      
      So, lets keep this ddr stall fix enabled only on Gen7 GPUs for now. We
      have not seen a similar ddr starvation issue in a6xx/a5xx/a3xx family.
      
      Change-Id: Ic89a9a90665566749e7715446ab16fdcbadb37d6
      Signed-off-by: default avatarAkhil P Oommen <quic_akhilpo@quicinc.com>
      387ce271
    • Akhil P Oommen's avatar
      msm: kgsl: Refactor bus hint/mod · 66f34ce7
      Akhil P Oommen authored
      
      Currently, we generate bus modifier hint (to update bus level) in gpubw
      governor to identify the bus modifier value. Also, we leak
      "wait_active_percent" stat from gpubw governor to kgsl_bus.c to again
      update the bus level, something which a bus hint could have done. To make
      it cleaner, we can keep the entire logic of bus hint generation logic
      within the gpubw governor and pass a new hint to increase the buslevel
      twice.
      
      And refactor the bus hint generation logic in gpubw governer to make it
      a little bit more readable.
      
      Change-Id: Id996c31f20efd6735b7f79da642bd3db1aa3184e
      Signed-off-by: default avatarAkhil P Oommen <quic_akhilpo@quicinc.com>
      66f34ce7
    • Akhil P Oommen's avatar
      msm: kgsl: Remove dead code related to devfreq · 237c9826
      Akhil P Oommen authored
      
      Few of the devfreq flag related code are vestigial from older kernel
      versions. There is no way these code paths are exercised in the current
      kernel version. Remove this along with some unnecessary conditional
      compilations which always test as true.
      
      Change-Id: Ib2bc26b3710afda92943274a85a75347799462fc
      Signed-off-by: default avatarAkhil P Oommen <quic_akhilpo@quicinc.com>
      237c9826
  14. Sep 04, 2023
  15. Aug 29, 2023
  16. Aug 24, 2023
  17. Aug 18, 2023
  18. Aug 17, 2023
  19. Aug 16, 2023
  20. Aug 09, 2023
  21. Aug 07, 2023
  22. Jul 25, 2023
  23. Jul 21, 2023