From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerome Glisse Subject: Re: [PATCH 000/165] radeon drm-next patches Date: Wed, 26 Jun 2013 08:55:42 -0400 Message-ID: <20130626125541.GG2480@gmail.com> References: <1372253045-17042-1-git-send-email-alexdeucher@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mail-qa0-f52.google.com (mail-qa0-f52.google.com [209.85.216.52]) by gabe.freedesktop.org (Postfix) with ESMTP id 72491E63FB for ; Wed, 26 Jun 2013 11:00:36 -0700 (PDT) Received: by mail-qa0-f52.google.com with SMTP id bv4so1744211qab.18 for ; Wed, 26 Jun 2013 11:00:36 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1372253045-17042-1-git-send-email-alexdeucher@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: alexdeucher@gmail.com Cc: Alex Deucher , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org On Wed, Jun 26, 2013 at 09:21:20AM -0400, alexdeucher@gmail.com wrote: > From: Alex Deucher > = > These are the radeon patches for 3.11. Some of these patches > are huge so, it might be easier to review things here: > http://cgit.freedesktop.org/~agd5f/linux/log/?h=3Ddrm-next-3.11-wip > = > I'll send a formal pull in request in the next day or two. > = > Highlights of this series: > - DPM support (Dynamic Power Management) for r6xx-SI > - Support for CIK (Sea Islands): modesetting, 3D, compute, UVD > - ASPM support for R6xx-SI > = > Since this is the initial public DPM code, it's still disabled by default > until we get more community testing. Pass dpm=3D1 to the radeon module to > enable it. So for the serie (except one i replied to) got my : Reviewed-by: Jerome Glisse I mostly checked the logic behind function ie what function is supose to do and does it do it properly. I didn't do any tedious check like is it using proper define for this generation. I wish more of the acronym related to power management were documented. The= re is so many magic name that it's often hard to understand the logic of the code, what it's doing and what is it that it's computing. Regarding CIK i fear that the hsa addition doesn't fit very well with our r= ing stuff, we probably don't want a ring struct for each of the 32 or 64 queues. But as right now we are only using few queues, that's probably alright. Cheers, Jerome > = > Alex Deucher (164): > drm/radeon: fix AVI infoframe generation > drm/radeon: add backlight quirk for hybrid mac > drm/radeon: add a reset work handler > drm/radeon: add CIK chip families > drm/radeon: add DCE8 macro for CIK > drm/radeon: adapt to PCI BAR changes on CIK > drm/radeon: add gpu init support for CIK (v9) > drm/radeon: Add support for CIK GPU reset (v2) > drm/radeon: add support for MC/VM setup on CIK (v6) > drm/radeon/cik: stop page faults from hanging the system (v2) > drm/radeon: add initial ucode loading for CIK (v5) > drm/radeon: add support mc ucode loading on CIK (v2) > drm/radeon: Add CP init for CIK (v7) > drm/radeon: add IB and fence dispatch functions for CIK gfx (v7) > drm/radeon: add ring and IB tests for CIK (v3) > drm/radeon: implement async vm_flush for the CP (v7) > drm/radeon: Add support for RLC init on CIK (v4) > drm/radeon: add support for interrupts on CIK (v5) > drm/radeon/cik: log and handle VM page fault interrupts > drm/radeon/cik: add support for sDMA dma engines (v8) > drm/radeon: implement async vm_flush for the sDMA (v6) > drm/radeon/cik: add support for doing async VM pt updates (v5) > drm/radeon/cik: fill in startup/shutdown callbacks (v4) > drm/radeon: upstream ObjectID.h updates (v2) > drm/radeon: upstream atombios.h updates (v2) > drm/radeon: atombios power table updates (v2) > drm/radeon: handle the integrated thermal controller on CI > drm/radeon: update power state parsing for CI > drm/radeon/dce8: add support for display watermark setup > drm/radeon/cik: add hw cursor support (v2) > drm/radeon/dce8: properly handle interlaced timing > drm/radeon/dce8: crtc_set_base updates > drm/radeon/atom: add DCE8 encoder support > drm/radeon/atom: add support for new DVO tables > drm/radeon: update DISPCLK programming for DCE8 > drm/radeon: add support pll selection for DCE8 (v4) > drm/radeon: Handle PPLL0 powerdown on DCE8 > drm/radeon: use frac fb div on DCE8 > drm/radeon: add SS override support for KB/KV > drm/radeon: Update radeon_info_ioctl for CIK (v2) > drm/radeon: add get_gpu_clock_counter() callback for cik > drm/radeon: update CIK soft reset > drm/radeon: add indirect register accessors for SMC registers > drm/radeon: add get_xclk() callback for CIK > drm/radeon/cik: add pcie_port indirect register accessors > drm/radeon: update radeon_atom_get_clock_dividers() for SI > drm/radeon: update radeon_atom_get_clock_dividers for CIK > drm/radeon/cik: add srbm_select function > drm/radeon: use callbacks for ring pointer handling > drm/radeon: implement simple doorbell page allocator > drm/radeon/cik: Add support for compute queues (v2) > drm/radeon/cik: switch to type3 nop packet for compute rings > drm/radeon: fix up ring functions for compute rings > drm/radeon/cik: add support for compute interrupts > drm/radeon/cik: add support for golden register init > drm/radeon: add radeon_asic struct for CIK (v11) > drm/radeon: add cik tile mode array query > drm/radeon: add current Bonaire PCI ids > drm/radeon: add current KB pci ids > drm/radeon/kms: add accessors for RCU indirect space > drm/radeon/evergreen: add indirect register accessors for CG > registers > drm/radeon: make get_temperature functions a callback > drm/radeon: add support for thermal sensor on tn > drm/radeon/kms: move ucode defines to a separate header > drm/radeon: properly set up the RLC on ON/LN/TN (v3) > drm/radeon/kms: add atom helper functions for dpm (v3) > drm/radeon/kms: add new asic struct for rv6xx (v3) > drm/radeon/kms: add common dpm infrastructure > drm/radeon/kms: fix up rs780/rs880 display watermark calc for dpm > drm/radeon/kms: fix up 6xx/7xx display watermark calc for dpm > drm/radeon/kms: fix up dce4/5 display watermark calc for dpm > drm/radeon/kms: fix up dce6 display watermark calc for dpm > drm/radeon/kms: add common r600 dpm functions > drm/radeon/kms: add dpm support for rs780/rs880 > drm/radeon/kms: add dpm support for rv6xx > drm/radeon/kms: add dpm support for rv7xx (v2) > drm/radeon/kms: add dpm support for evergreen (v2) > drm/radeon/kms: add dpm support for btc (v2) > drm/radeon/kms: add dpm support for sumo asics > drm/radeon/kms: add dpm support for trinity asics > drm/radeon/dpm: let atom control display phy powergating > drm/radeon: add dpm UVD handling for r7xx asics > drm/radeon: add dpm UVD handling for evergreen/btc asics > drm/radeon: add dpm UVD handling for sumo asics > drm/radeon: add dpm UVD handling for TN asics (v2) > drm/radeon/kms: enable UVD as needed (v9) > drm/radeon/dpm: add helpers for extended power tables (v2) > drm/radeon/dpm: track whether we are on AC or battery > drm/radeon/dpm: fixup dynamic state adjust for sumo > drm/radeon/dpm: fixup dynamic state adjust for TN > drm/radeon/dpm: fixup dynamic state adjust for btc (v2) > drm/radeon/kms: add dpm support for cayman > drm/radeon/cayman: update tdp limits in set_power_state > drm/radeon/dpm/rs780: restructure code > drm/radeon/dpm/rv6xx: restructure code > drm/radeon/dpm/rv7xx: restructure code > drm/radeon/dpm/evergreen: restructure code > drm/radeon/dpm/btc: restructure code > drm/radeon/dpm/cayman: restructure code > drm/radeon/dpm/sumo: restructure code > drm/radeon/dpm/tn: restructure code > drm/radeon/dpm: add new pre/post_set_power_state callbacks > drm/radeon/dpm: add pre/post_set_power_state callbacks (6xx-eg) > drm/radeon/dpm: add pre/post_set_power_state callback (sumo) > drm/radeon/dpm: add pre/post_set_power_state callback (TN) > drm/radeon/dpm: add pre/post_set_power_state callback (BTC) > drm/radeon/dpm: add pre/post_set_power_state callback (cayman) > drm/radeon/dpm: remove broken dyn state remnants > drm/radeon: add missing UVD clock set in cayman dpm code > drm/radeon/dpm: remove local sumo_get_xclk() > drm/radeon: implement apci perf request > drm/radeon/atom: add helper to calcuate mpll params > drm/radeon: update radeon_atom_is_voltage_gpio() for SI > drm/radeon: update radeon_atom_get_voltage_table() for SI > drm/radeon: implement pcie gen2/3 support for SI > drm/radeon: add accessors of pif_phy indirect register space > drm/radeon: add support for ASPM on evergreen asics > drm/radeon: add support for ASPM on SI asics (v2) > drm/radeon: enable additional power gating features on trinity > drm/radeon: update rlc programming sequence on SI > drm/radeon: add atom get leakage vddc function > drm/radeon: add indirect accessors for UVD CTX registers > drm/radeon: initialize save/restore buffer for pg on verde > drm/radeon: add clearstate init for verde power gating > drm/radeon: implement clock and power gating for SI > drm/radeon/dpm: add an enum for pcie gen selection > drm/radeon/dpm: pull in phase shedding limits from atom > drm/radeon/dpm: endian fixes for extended power tables > drm/radeon/dpm: pull in ppm info from atom > drm/radeon/dpm: save some display parameters for DPM > drm/radeon: minor sid.h cleanup > drm: add some additional fixed point helpers (v2) > drm/radeon/dpm/cayman: use new fixed point functions > drm/radeon: fix some memory leaks in extended table parsing > drm/radeon/dpm: validate voltages against dispclk requirements > drm/radeon: update radeon_atombios_get_default_voltages for mvdd > drm/radeon/dpm: add pcie gen helper function > drm/radeon: fix typo in atom voltage table handling (6xx-ni) > drm/radeon: fix typo in atom voltage table handling (si+) > drm/radeon/atom: fix voltage table parsing > drm/radeon/dpm/ni: properly catch errors in dpm setup > drm/radeon/dpm/btc: properly catch errors in dpm setup > drm/radeon/dpm/evergreen: properly catch errors in dpm setup > drm/radeon/dpm/sumo: properly catch errors in dpm setup > drm/radeon/dpm/trinity: properly catch errors in dpm setup > drm/radeon/dpm/r7xx: properly catch errors in dpm setup > drm/radeon/dpm/r6xx: properly catch errors in dpm setup > drm/radeon/dpm/rs780: properly catch errors in dpm setup > drm/radeon: add SI to r600_is_internal_thermal_sensor() > drm/radeon: switch SI to use radeon_ucode.h > drm/radeon/kms: add dpm support for SI (v3) > drm/radeon/dpm: add dpm_enable failure output (7xx-ni) > drm/radeon/dpm: add dpm_enable failure output (si) > drm/radeon/dpm: add dpm_set_power_state failure output (7xx-ni) > drm/radeon/dpm: add dpm_set_power_state failure output (si) > drm/radeon/dpm: fix typo in setting uvd clock > drm/radeon/si: fix typo in function name > drm/radeon: fix typo in cik_select_se_sh() > drm/radeon: fix typo in ni_print_power_state > drm/radeon/dpm: add support for setting UVD clock on rs780 > drm/radeon/dpm: add support for setting UVD clock on rv6xx > drm/radeon/dpm: fix UVD clock setting on cayman > drm/radeon/dpm: fix UVD clock setting on SI > drm/radeon: fix endian issues in atombios dpm code > = > Christian K=F6nig (1): > drm/radeon: add UVD support for CIK (v3) > = > drivers/gpu/drm/radeon/Makefile | 5 +- > drivers/gpu/drm/radeon/ObjectID.h | 40 + > drivers/gpu/drm/radeon/atombios.h | 547 ++- > drivers/gpu/drm/radeon/atombios_crtc.c | 88 +- > drivers/gpu/drm/radeon/atombios_encoders.c | 51 +- > drivers/gpu/drm/radeon/btc_dpm.c | 2731 ++++++++++ > drivers/gpu/drm/radeon/btc_dpm.h | 57 + > drivers/gpu/drm/radeon/btcd.h | 181 + > drivers/gpu/drm/radeon/cik.c | 6995 +++++++++++++++++++= ++++++ > drivers/gpu/drm/radeon/cik_blit_shaders.c | 246 + > drivers/gpu/drm/radeon/cik_blit_shaders.h | 32 + > drivers/gpu/drm/radeon/cik_reg.h | 147 + > drivers/gpu/drm/radeon/cikd.h | 1297 +++++ > drivers/gpu/drm/radeon/clearstate_cayman.h | 1081 ++++ > drivers/gpu/drm/radeon/clearstate_defs.h | 44 + > drivers/gpu/drm/radeon/clearstate_evergreen.h | 1080 ++++ > drivers/gpu/drm/radeon/clearstate_si.h | 941 ++++ > drivers/gpu/drm/radeon/cypress_dpm.c | 2170 ++++++++ > drivers/gpu/drm/radeon/cypress_dpm.h | 160 + > drivers/gpu/drm/radeon/evergreen.c | 644 +++- > drivers/gpu/drm/radeon/evergreen_hdmi.c | 11 +- > drivers/gpu/drm/radeon/evergreen_reg.h | 12 + > drivers/gpu/drm/radeon/evergreen_smc.h | 67 + > drivers/gpu/drm/radeon/evergreend.h | 389 ++- > drivers/gpu/drm/radeon/ni.c | 198 +- > drivers/gpu/drm/radeon/ni_dpm.c | 4288 +++++++++++++++ > drivers/gpu/drm/radeon/ni_dpm.h | 248 + > drivers/gpu/drm/radeon/nid.h | 561 ++ > drivers/gpu/drm/radeon/nislands_smc.h | 329 ++ > drivers/gpu/drm/radeon/ppsmc.h | 110 + > drivers/gpu/drm/radeon/r600.c | 147 +- > drivers/gpu/drm/radeon/r600_dpm.c | 1024 ++++ > drivers/gpu/drm/radeon/r600_dpm.h | 226 + > drivers/gpu/drm/radeon/r600_hdmi.c | 11 +- > drivers/gpu/drm/radeon/r600_reg.h | 6 + > drivers/gpu/drm/radeon/r600d.h | 232 +- > drivers/gpu/drm/radeon/radeon.h | 517 ++- > drivers/gpu/drm/radeon/radeon_acpi.c | 145 + > drivers/gpu/drm/radeon/radeon_asic.c | 524 ++- > drivers/gpu/drm/radeon/radeon_asic.h | 166 + > drivers/gpu/drm/radeon/radeon_atombios.c | 880 +++- > drivers/gpu/drm/radeon/radeon_cs.c | 1 + > drivers/gpu/drm/radeon/radeon_cursor.c | 10 +- > drivers/gpu/drm/radeon/radeon_device.c | 106 +- > drivers/gpu/drm/radeon/radeon_display.c | 21 +- > drivers/gpu/drm/radeon/radeon_drv.c | 7 +- > drivers/gpu/drm/radeon/radeon_family.h | 3 + > drivers/gpu/drm/radeon/radeon_irq_kms.c | 20 + > drivers/gpu/drm/radeon/radeon_kms.c | 41 +- > drivers/gpu/drm/radeon/radeon_mode.h | 93 + > drivers/gpu/drm/radeon/radeon_pm.c | 610 ++- > drivers/gpu/drm/radeon/radeon_reg.h | 1 + > drivers/gpu/drm/radeon/radeon_ring.c | 55 +- > drivers/gpu/drm/radeon/radeon_ucode.h | 129 + > drivers/gpu/drm/radeon/radeon_uvd.c | 32 +- > drivers/gpu/drm/radeon/rs690.c | 291 +- > drivers/gpu/drm/radeon/rs780_dpm.c | 963 ++++ > drivers/gpu/drm/radeon/rs780_dpm.h | 109 + > drivers/gpu/drm/radeon/rs780d.h | 168 + > drivers/gpu/drm/radeon/rv515.c | 224 +- > drivers/gpu/drm/radeon/rv6xx_dpm.c | 2059 ++++++++ > drivers/gpu/drm/radeon/rv6xx_dpm.h | 95 + > drivers/gpu/drm/radeon/rv6xxd.h | 246 + > drivers/gpu/drm/radeon/rv730_dpm.c | 508 ++ > drivers/gpu/drm/radeon/rv730d.h | 165 + > drivers/gpu/drm/radeon/rv740_dpm.c | 416 ++ > drivers/gpu/drm/radeon/rv740d.h | 117 + > drivers/gpu/drm/radeon/rv770_dpm.c | 2446 +++++++++ > drivers/gpu/drm/radeon/rv770_dpm.h | 287 + > drivers/gpu/drm/radeon/rv770_smc.c | 621 +++ > drivers/gpu/drm/radeon/rv770_smc.h | 209 + > drivers/gpu/drm/radeon/rv770d.h | 279 +- > drivers/gpu/drm/radeon/si.c | 1337 +++++- > drivers/gpu/drm/radeon/si_dpm.c | 6369 +++++++++++++++++++= +++ > drivers/gpu/drm/radeon/si_dpm.h | 227 + > drivers/gpu/drm/radeon/si_smc.c | 284 + > drivers/gpu/drm/radeon/sid.h | 599 ++- > drivers/gpu/drm/radeon/sislands_smc.h | 397 ++ > drivers/gpu/drm/radeon/sumo_dpm.c | 1801 +++++++ > drivers/gpu/drm/radeon/sumo_dpm.h | 220 + > drivers/gpu/drm/radeon/sumo_smc.c | 222 + > drivers/gpu/drm/radeon/sumod.h | 372 ++ > drivers/gpu/drm/radeon/trinity_dpm.c | 1887 +++++++ > drivers/gpu/drm/radeon/trinity_dpm.h | 131 + > drivers/gpu/drm/radeon/trinity_smc.c | 115 + > drivers/gpu/drm/radeon/trinityd.h | 228 + > include/drm/drm_fixed.h | 96 + > include/drm/drm_pciids.h | 24 + > 88 files changed, 52708 insertions(+), 561 deletions(-) > create mode 100644 drivers/gpu/drm/radeon/btc_dpm.c > create mode 100644 drivers/gpu/drm/radeon/btc_dpm.h > create mode 100644 drivers/gpu/drm/radeon/btcd.h > create mode 100644 drivers/gpu/drm/radeon/cik.c > create mode 100644 drivers/gpu/drm/radeon/cik_blit_shaders.c > create mode 100644 drivers/gpu/drm/radeon/cik_blit_shaders.h > create mode 100644 drivers/gpu/drm/radeon/cik_reg.h > create mode 100644 drivers/gpu/drm/radeon/cikd.h > create mode 100644 drivers/gpu/drm/radeon/clearstate_cayman.h > create mode 100644 drivers/gpu/drm/radeon/clearstate_defs.h > create mode 100644 drivers/gpu/drm/radeon/clearstate_evergreen.h > create mode 100644 drivers/gpu/drm/radeon/clearstate_si.h > create mode 100644 drivers/gpu/drm/radeon/cypress_dpm.c > create mode 100644 drivers/gpu/drm/radeon/cypress_dpm.h > create mode 100644 drivers/gpu/drm/radeon/evergreen_smc.h > create mode 100644 drivers/gpu/drm/radeon/ni_dpm.c > create mode 100644 drivers/gpu/drm/radeon/ni_dpm.h > create mode 100644 drivers/gpu/drm/radeon/nislands_smc.h > create mode 100644 drivers/gpu/drm/radeon/ppsmc.h > create mode 100644 drivers/gpu/drm/radeon/r600_dpm.c > create mode 100644 drivers/gpu/drm/radeon/r600_dpm.h > create mode 100644 drivers/gpu/drm/radeon/radeon_ucode.h > create mode 100644 drivers/gpu/drm/radeon/rs780_dpm.c > create mode 100644 drivers/gpu/drm/radeon/rs780_dpm.h > create mode 100644 drivers/gpu/drm/radeon/rs780d.h > create mode 100644 drivers/gpu/drm/radeon/rv6xx_dpm.c > create mode 100644 drivers/gpu/drm/radeon/rv6xx_dpm.h > create mode 100644 drivers/gpu/drm/radeon/rv6xxd.h > create mode 100644 drivers/gpu/drm/radeon/rv730_dpm.c > create mode 100644 drivers/gpu/drm/radeon/rv730d.h > create mode 100644 drivers/gpu/drm/radeon/rv740_dpm.c > create mode 100644 drivers/gpu/drm/radeon/rv740d.h > create mode 100644 drivers/gpu/drm/radeon/rv770_dpm.c > create mode 100644 drivers/gpu/drm/radeon/rv770_dpm.h > create mode 100644 drivers/gpu/drm/radeon/rv770_smc.c > create mode 100644 drivers/gpu/drm/radeon/rv770_smc.h > create mode 100644 drivers/gpu/drm/radeon/si_dpm.c > create mode 100644 drivers/gpu/drm/radeon/si_dpm.h > create mode 100644 drivers/gpu/drm/radeon/si_smc.c > create mode 100644 drivers/gpu/drm/radeon/sislands_smc.h > create mode 100644 drivers/gpu/drm/radeon/sumo_dpm.c > create mode 100644 drivers/gpu/drm/radeon/sumo_dpm.h > create mode 100644 drivers/gpu/drm/radeon/sumo_smc.c > create mode 100644 drivers/gpu/drm/radeon/sumod.h > create mode 100644 drivers/gpu/drm/radeon/trinity_dpm.c > create mode 100644 drivers/gpu/drm/radeon/trinity_dpm.h > create mode 100644 drivers/gpu/drm/radeon/trinity_smc.c > create mode 100644 drivers/gpu/drm/radeon/trinityd.h > = > -- = > 1.7.7.5 > = > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel