1. 11 Jun, 2020 2 commits
    • Rodrigo Siqueira's avatar
      drm/amd/display: Rework dsc to isolate FPU operations · 9ec051bf
      Rodrigo Siqueira authored
      When we want to use float point operation on Linux
      we need to use within special kernel protection
      (`kernel_fpu_{begin,end}()`.), otherwise the kernel
      can clobber userspace FPU register state. For detecting
      these issues we use a tool named objtool (with -Ffa
      flags) to highlight the FPU problems, all warnings can
      be summed up as follows:
      
      ./tools/objtool/objtool check -Ffa
      drivers/gpu/drm/amd/display/dc/dml/dml_common_defs.o
      
      [..] dc/dsc/rc_calc.o: warning: objtool: get_qp_set()+0x2f8:
      FPU instruction outside of kernel_fpu_{begin,end}()
      [..] dc/dsc/rc_calc.o: warning: objtool: dsc_roundf()+0x5:
      FPU instruction outside of kernel_fpu_{begin,end}()
      [..] dc/dsc/rc_calc.o: warning: objtool: dsc_ceil()+0x5:
      FPU instruction outside of kernel_fpu_{begin,end}()
      [..] dc/dsc/rc_calc.o: warning: objtool: get_ofs_set()+0x3eb:
      FPU instruction outside of kernel_fpu_{begin,end}()
      [..] dc/dsc/rc_calc.o: warning: objtool: calc_rc_params()+0x3c:
      FPU instruction outside of kernel_fpu_{begin,end}()
      [..] dc/dsc/dc_dsc.o: warning: objtool:
      get_dsc_bandwidth_range.isra.0()+0x8d:
      FPU instruction outside of kernel_fpu_{begin,end}()
      [..] dc/dsc/dc_dsc.o: warning: objtool: setup_dsc_config()+0x2ef:
      FPU instruction outside of kernel_fpu_{begin,end}()
      [..] dc/dsc/rc_calc_dpi.o: warning: objtool:copy_pps_fields()+0xbb:
      FPU instruction outside of kernel_fpu_{begin,end}()
      [..] dc/dsc/rc_calc_dpi.o: warning: objtool:
      dscc_compute_dsc_parameters()+0x7b:
      FPU instruction outside of kernel_fpu_{begin,end}()
      
      This commit fixes the above issues by rework DSC as described:
      
      1. Isolate all FPU operations in a single file;
      2. Use FPU flags only in the file that handles FPU operations;
      3. Isolate all functions that require float point operation in static
         functions;
      4. Add a mid-layer function that does not use any float point operation,
         and that could be safely invoked in other parts of the code.
      5. Keep float point operation under DC_FP_{START/END} macro.
      
      CC: Christian König <christian.koenig@amd.com>
      CC: Alexander Deucher <Alexander.Deucher@amd.com>
      CC: Peter Zijlstra <peterz@infradead.org>
      CC: Tony Cheng <tony.cheng@amd.com>
      CC: Harry Wentland <hwentlan@amd.com>
      Signed-off-by: default avatarRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
      Reviewed-by: default avatarMikita Lipski <Mikita.Lipski@amd.com>
      Acked-by: default avatarQingqing Zhuo <qingqing.zhuo@amd.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      9ec051bf
    • Sandeep Raghuraman's avatar
      drm/amdgpu: Replace invalid device ID with a valid device ID · 790243d3
      Sandeep Raghuraman authored
      Initializes Powertune data for a specific Hawaii card by fixing what
      looks like a typo in the code. The device ID 66B1 is not a supported
      device ID for this driver, and is not mentioned elsewhere. 67B1 is a
      valid device ID, and is a Hawaii Pro GPU.
      
      I have tested on my R9 390 which has device ID 67B1, and it works
      fine without problems.
      Signed-off-by: default avatarSandeep Raghuraman <sandy.8925@gmail.com>
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      790243d3
  2. 10 Jun, 2020 2 commits
  3. 08 Jun, 2020 3 commits
  4. 04 Jun, 2020 7 commits
  5. 03 Jun, 2020 2 commits
  6. 02 Jun, 2020 5 commits
  7. 01 Jun, 2020 5 commits
  8. 29 May, 2020 3 commits
  9. 28 May, 2020 2 commits
  10. 27 May, 2020 2 commits
  11. 26 May, 2020 2 commits
  12. 25 May, 2020 5 commits