]> Git Repo - linux.git/commitdiff
BackMerge v4.18-rc7 into drm-next
authorDave Airlie <[email protected]>
Mon, 30 Jul 2018 00:39:22 +0000 (10:39 +1000)
committerDave Airlie <[email protected]>
Mon, 30 Jul 2018 00:39:22 +0000 (10:39 +1000)
rmk requested this for armada and I think we've had a few
conflicts build up.

Signed-off-by: Dave Airlie <[email protected]>
26 files changed:
1  2 
MAINTAINERS
drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c
drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
drivers/gpu/drm/amd/display/dc/dc.h
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
drivers/gpu/drm/amd/powerplay/hwmgr/vega12_processpptables.c
drivers/gpu/drm/etnaviv/etnaviv_drv.c
drivers/gpu/drm/etnaviv/etnaviv_sched.c
drivers/gpu/drm/i915/gvt/cmd_parser.c
drivers/gpu/drm/i915/gvt/display.c
drivers/gpu/drm/i915/gvt/gtt.c
drivers/gpu/drm/i915/gvt/gtt.h
drivers/gpu/drm/i915/gvt/gvt.h
drivers/gpu/drm/i915/gvt/handlers.c
drivers/gpu/drm/i915/gvt/mmio.h
drivers/gpu/drm/i915/gvt/mmio_context.c
drivers/gpu/drm/nouveau/dispnv50/disp.c
drivers/gpu/drm/nouveau/nouveau_connector.c
drivers/gpu/drm/nouveau/nouveau_display.c
drivers/gpu/drm/nouveau/nouveau_drm.c
drivers/gpu/drm/nouveau/nouveau_gem.c
drivers/gpu/drm/sun4i/Makefile
drivers/pci/pci.c
include/linux/pci.h

diff --cc MAINTAINERS
Simple merge
index 9f0a217603ad001cd37c520b9937631f6adc5584,5a2e952c5bead295df49350289416d4674c4dcef..516795342dd2815629e0876031fa47070c9ec12a
@@@ -74,4 -80,327 +74,3 @@@ bool dm_read_persistent_data(struct dc_
  
  /**** power component interfaces ****/
  
 -bool dm_pp_apply_display_requirements(
 -              const struct dc_context *ctx,
 -              const struct dm_pp_display_configuration *pp_display_cfg)
 -{
 -      struct amdgpu_device *adev = ctx->driver_context;
 -
 -      if (adev->pm.dpm_enabled) {
 -
 -              memset(&adev->pm.pm_display_cfg, 0,
 -                              sizeof(adev->pm.pm_display_cfg));
 -
 -              adev->pm.pm_display_cfg.cpu_cc6_disable =
 -                      pp_display_cfg->cpu_cc6_disable;
 -
 -              adev->pm.pm_display_cfg.cpu_pstate_disable =
 -                      pp_display_cfg->cpu_pstate_disable;
 -
 -              adev->pm.pm_display_cfg.cpu_pstate_separation_time =
 -                      pp_display_cfg->cpu_pstate_separation_time;
 -
 -              adev->pm.pm_display_cfg.nb_pstate_switch_disable =
 -                      pp_display_cfg->nb_pstate_switch_disable;
 -
 -              adev->pm.pm_display_cfg.num_display =
 -                              pp_display_cfg->display_count;
 -              adev->pm.pm_display_cfg.num_path_including_non_display =
 -                              pp_display_cfg->display_count;
 -
 -              adev->pm.pm_display_cfg.min_core_set_clock =
 -                              pp_display_cfg->min_engine_clock_khz/10;
 -              adev->pm.pm_display_cfg.min_core_set_clock_in_sr =
 -                              pp_display_cfg->min_engine_clock_deep_sleep_khz/10;
 -              adev->pm.pm_display_cfg.min_mem_set_clock =
 -                              pp_display_cfg->min_memory_clock_khz/10;
 -
 -              adev->pm.pm_display_cfg.multi_monitor_in_sync =
 -                              pp_display_cfg->all_displays_in_sync;
 -              adev->pm.pm_display_cfg.min_vblank_time =
 -                              pp_display_cfg->avail_mclk_switch_time_us;
 -
 -              adev->pm.pm_display_cfg.display_clk =
 -                              pp_display_cfg->disp_clk_khz/10;
 -
 -              adev->pm.pm_display_cfg.dce_tolerable_mclk_in_active_latency =
 -                              pp_display_cfg->avail_mclk_switch_time_in_disp_active_us;
 -
 -              adev->pm.pm_display_cfg.crtc_index = pp_display_cfg->crtc_index;
 -              adev->pm.pm_display_cfg.line_time_in_us =
 -                              pp_display_cfg->line_time_in_us;
 -
 -              adev->pm.pm_display_cfg.vrefresh = pp_display_cfg->disp_configs[0].v_refresh;
 -              adev->pm.pm_display_cfg.crossfire_display_index = -1;
 -              adev->pm.pm_display_cfg.min_bus_bandwidth = 0;
 -
 -              /* TODO: complete implementation of
 -               * pp_display_configuration_change().
 -               * Follow example of:
 -               * PHM_StoreDALConfigurationData - powerplay\hwmgr\hardwaremanager.c
 -               * PP_IRI_DisplayConfigurationChange - powerplay\eventmgr\iri.c */
 -              if (adev->powerplay.pp_funcs->display_configuration_change)
 -                      adev->powerplay.pp_funcs->display_configuration_change(
 -                              adev->powerplay.pp_handle,
 -                              &adev->pm.pm_display_cfg);
 -
 -              /* TODO: replace by a separate call to 'apply display cfg'? */
 -              amdgpu_pm_compute_clocks(adev);
 -      }
 -
 -      return true;
 -}
 -
 -static void get_default_clock_levels(
 -              enum dm_pp_clock_type clk_type,
 -              struct dm_pp_clock_levels *clks)
 -{
 -      uint32_t disp_clks_in_khz[6] = {
 -                      300000, 400000, 496560, 626090, 685720, 757900 };
 -      uint32_t sclks_in_khz[6] = {
 -                      300000, 360000, 423530, 514290, 626090, 720000 };
 -      uint32_t mclks_in_khz[2] = { 333000, 800000 };
 -
 -      switch (clk_type) {
 -      case DM_PP_CLOCK_TYPE_DISPLAY_CLK:
 -              clks->num_levels = 6;
 -              memmove(clks->clocks_in_khz, disp_clks_in_khz,
 -                              sizeof(disp_clks_in_khz));
 -              break;
 -      case DM_PP_CLOCK_TYPE_ENGINE_CLK:
 -              clks->num_levels = 6;
 -              memmove(clks->clocks_in_khz, sclks_in_khz,
 -                              sizeof(sclks_in_khz));
 -              break;
 -      case DM_PP_CLOCK_TYPE_MEMORY_CLK:
 -              clks->num_levels = 2;
 -              memmove(clks->clocks_in_khz, mclks_in_khz,
 -                              sizeof(mclks_in_khz));
 -              break;
 -      default:
 -              clks->num_levels = 0;
 -              break;
 -      }
 -}
 -
 -static enum amd_pp_clock_type dc_to_pp_clock_type(
 -              enum dm_pp_clock_type dm_pp_clk_type)
 -{
 -      enum amd_pp_clock_type amd_pp_clk_type = 0;
 -
 -      switch (dm_pp_clk_type) {
 -      case DM_PP_CLOCK_TYPE_DISPLAY_CLK:
 -              amd_pp_clk_type = amd_pp_disp_clock;
 -              break;
 -      case DM_PP_CLOCK_TYPE_ENGINE_CLK:
 -              amd_pp_clk_type = amd_pp_sys_clock;
 -              break;
 -      case DM_PP_CLOCK_TYPE_MEMORY_CLK:
 -              amd_pp_clk_type = amd_pp_mem_clock;
 -              break;
 -      default:
 -              DRM_ERROR("DM_PPLIB: invalid clock type: %d!\n",
 -                              dm_pp_clk_type);
 -              break;
 -      }
 -
 -      return amd_pp_clk_type;
 -}
 -
 -static void pp_to_dc_clock_levels(
 -              const struct amd_pp_clocks *pp_clks,
 -              struct dm_pp_clock_levels *dc_clks,
 -              enum dm_pp_clock_type dc_clk_type)
 -{
 -      uint32_t i;
 -
 -      if (pp_clks->count > DM_PP_MAX_CLOCK_LEVELS) {
 -              DRM_INFO("DM_PPLIB: Warning: %s clock: number of levels %d exceeds maximum of %d!\n",
 -                              DC_DECODE_PP_CLOCK_TYPE(dc_clk_type),
 -                              pp_clks->count,
 -                              DM_PP_MAX_CLOCK_LEVELS);
 -
 -              dc_clks->num_levels = DM_PP_MAX_CLOCK_LEVELS;
 -      } else
 -              dc_clks->num_levels = pp_clks->count;
 -
 -      DRM_INFO("DM_PPLIB: values for %s clock\n",
 -                      DC_DECODE_PP_CLOCK_TYPE(dc_clk_type));
 -
 -      for (i = 0; i < dc_clks->num_levels; i++) {
 -              DRM_INFO("DM_PPLIB:\t %d\n", pp_clks->clock[i]);
 -              /* translate 10kHz to kHz */
 -              dc_clks->clocks_in_khz[i] = pp_clks->clock[i] * 10;
 -      }
 -}
 -
 -static void pp_to_dc_clock_levels_with_latency(
 -              const struct pp_clock_levels_with_latency *pp_clks,
 -              struct dm_pp_clock_levels_with_latency *clk_level_info,
 -              enum dm_pp_clock_type dc_clk_type)
 -{
 -      uint32_t i;
 -
 -      if (pp_clks->num_levels > DM_PP_MAX_CLOCK_LEVELS) {
 -              DRM_INFO("DM_PPLIB: Warning: %s clock: number of levels %d exceeds maximum of %d!\n",
 -                              DC_DECODE_PP_CLOCK_TYPE(dc_clk_type),
 -                              pp_clks->num_levels,
 -                              DM_PP_MAX_CLOCK_LEVELS);
 -
 -              clk_level_info->num_levels = DM_PP_MAX_CLOCK_LEVELS;
 -      } else
 -              clk_level_info->num_levels = pp_clks->num_levels;
 -
 -      DRM_DEBUG("DM_PPLIB: values for %s clock\n",
 -                      DC_DECODE_PP_CLOCK_TYPE(dc_clk_type));
 -
 -      for (i = 0; i < clk_level_info->num_levels; i++) {
 -              DRM_DEBUG("DM_PPLIB:\t %d in 10kHz\n", pp_clks->data[i].clocks_in_khz);
 -              /* translate 10kHz to kHz */
 -              clk_level_info->data[i].clocks_in_khz = pp_clks->data[i].clocks_in_khz * 10;
 -              clk_level_info->data[i].latency_in_us = pp_clks->data[i].latency_in_us;
 -      }
 -}
 -
 -bool dm_pp_get_clock_levels_by_type(
 -              const struct dc_context *ctx,
 -              enum dm_pp_clock_type clk_type,
 -              struct dm_pp_clock_levels *dc_clks)
 -{
 -      struct amdgpu_device *adev = ctx->driver_context;
 -      void *pp_handle = adev->powerplay.pp_handle;
 -      struct amd_pp_clocks pp_clks = { 0 };
 -      struct amd_pp_simple_clock_info validation_clks = { 0 };
 -      uint32_t i;
 -
 -      if (adev->powerplay.pp_funcs->get_clock_by_type) {
 -              if (adev->powerplay.pp_funcs->get_clock_by_type(pp_handle,
 -                      dc_to_pp_clock_type(clk_type), &pp_clks)) {
 -              /* Error in pplib. Provide default values. */
 -                      get_default_clock_levels(clk_type, dc_clks);
 -                      return true;
 -              }
 -      }
 -
 -      pp_to_dc_clock_levels(&pp_clks, dc_clks, clk_type);
 -
 -      if (adev->powerplay.pp_funcs->get_display_mode_validation_clocks) {
 -              if (adev->powerplay.pp_funcs->get_display_mode_validation_clocks(
 -                                              pp_handle, &validation_clks)) {
 -                      /* Error in pplib. Provide default values. */
 -                      DRM_INFO("DM_PPLIB: Warning: using default validation clocks!\n");
 -                      validation_clks.engine_max_clock = 72000;
 -                      validation_clks.memory_max_clock = 80000;
 -                      validation_clks.level = 0;
 -              }
 -      }
 -
 -      DRM_INFO("DM_PPLIB: Validation clocks:\n");
 -      DRM_INFO("DM_PPLIB:    engine_max_clock: %d\n",
 -                      validation_clks.engine_max_clock);
 -      DRM_INFO("DM_PPLIB:    memory_max_clock: %d\n",
 -                      validation_clks.memory_max_clock);
 -      DRM_INFO("DM_PPLIB:    level           : %d\n",
 -                      validation_clks.level);
 -
 -      /* Translate 10 kHz to kHz. */
 -      validation_clks.engine_max_clock *= 10;
 -      validation_clks.memory_max_clock *= 10;
 -
 -      /* Determine the highest non-boosted level from the Validation Clocks */
 -      if (clk_type == DM_PP_CLOCK_TYPE_ENGINE_CLK) {
 -              for (i = 0; i < dc_clks->num_levels; i++) {
 -                      if (dc_clks->clocks_in_khz[i] > validation_clks.engine_max_clock) {
 -                              /* This clock is higher the validation clock.
 -                               * Than means the previous one is the highest
 -                               * non-boosted one. */
 -                              DRM_INFO("DM_PPLIB: reducing engine clock level from %d to %d\n",
 -                                              dc_clks->num_levels, i);
 -                              dc_clks->num_levels = i > 0 ? i : 1;
 -                              break;
 -                      }
 -              }
 -      } else if (clk_type == DM_PP_CLOCK_TYPE_MEMORY_CLK) {
 -              for (i = 0; i < dc_clks->num_levels; i++) {
 -                      if (dc_clks->clocks_in_khz[i] > validation_clks.memory_max_clock) {
 -                              DRM_INFO("DM_PPLIB: reducing memory clock level from %d to %d\n",
 -                                              dc_clks->num_levels, i);
 -                              dc_clks->num_levels = i > 0 ? i : 1;
 -                              break;
 -                      }
 -              }
 -      }
 -
 -      return true;
 -}
 -
 -bool dm_pp_get_clock_levels_by_type_with_latency(
 -      const struct dc_context *ctx,
 -      enum dm_pp_clock_type clk_type,
 -      struct dm_pp_clock_levels_with_latency *clk_level_info)
 -{
 -      struct amdgpu_device *adev = ctx->driver_context;
 -      void *pp_handle = adev->powerplay.pp_handle;
 -      struct pp_clock_levels_with_latency pp_clks = { 0 };
 -      const struct amd_pm_funcs *pp_funcs = adev->powerplay.pp_funcs;
 -
 -      if (!pp_funcs || !pp_funcs->get_clock_by_type_with_latency)
 -              return false;
 -
 -      if (pp_funcs->get_clock_by_type_with_latency(pp_handle,
 -                                                   dc_to_pp_clock_type(clk_type),
 -                                                   &pp_clks))
 -              return false;
 -
 -      pp_to_dc_clock_levels_with_latency(&pp_clks, clk_level_info, clk_type);
 -
 -      return true;
 -}
 -
 -bool dm_pp_get_clock_levels_by_type_with_voltage(
 -      const struct dc_context *ctx,
 -      enum dm_pp_clock_type clk_type,
 -      struct dm_pp_clock_levels_with_voltage *clk_level_info)
 -{
 -      /* TODO: to be implemented */
 -      return false;
 -}
 -
 -bool dm_pp_notify_wm_clock_changes(
 -      const struct dc_context *ctx,
 -      struct dm_pp_wm_sets_with_clock_ranges *wm_with_clock_ranges)
 -{
 -      /* TODO: to be implemented */
 -      return false;
 -}
 -
 -bool dm_pp_apply_power_level_change_request(
 -      const struct dc_context *ctx,
 -      struct dm_pp_power_level_change_request *level_change_req)
 -{
 -      /* TODO: to be implemented */
 -      return false;
 -}
 -
 -bool dm_pp_apply_clock_for_voltage_request(
 -      const struct dc_context *ctx,
 -      struct dm_pp_clock_for_voltage_req *clock_for_voltage_req)
 -{
 -      /* TODO: to be implemented */
 -      return false;
 -}
 -
 -bool dm_pp_get_static_clocks(
 -      const struct dc_context *ctx,
 -      struct dm_pp_static_clock_info *static_clk_info)
 -{
 -      /* TODO: to be implemented */
 -      return false;
 -}
 -
 -void dm_pp_get_funcs_rv(
 -              struct dc_context *ctx,
 -              struct pp_smu_funcs_rv *funcs)
 -{}
--
 -/**** end of power component interfaces ****/
Simple merge
index f4f366b26fd151a24046ee2fbb81884e7e939db9,29914700ee82f5d8d09de71ff8fadb7b28bfaca3..cb3a5b1737c888fc040825dff14021f916447493
@@@ -224,8 -224,14 +224,10 @@@ static int append_vbios_pptable(struct 
        ppsmc_pptable->AcgGfxclkSpreadPercent = smc_dpm_table.acggfxclkspreadpercent;
        ppsmc_pptable->AcgGfxclkSpreadFreq = smc_dpm_table.acggfxclkspreadfreq;
  
 -      /* 0xFFFF will disable the ACG feature */
 -      if (!(hwmgr->feature_mask & PP_ACG_MASK)) {
 -              ppsmc_pptable->AcgThresholdFreqHigh = 0xFFFF;
 -              ppsmc_pptable->AcgThresholdFreqLow = 0xFFFF;
 -      }
 +      ppsmc_pptable->Vr2_I2C_address = smc_dpm_table.Vr2_I2C_address;
  
+       ppsmc_pptable->Vr2_I2C_address = smc_dpm_table.Vr2_I2C_address;
        return 0;
  }
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
This page took 0.173296 seconds and 4 git commands to generate.