.. | .. |
---|
23 | 23 | * Authors: Dave Airlie |
---|
24 | 24 | * Alex Deucher |
---|
25 | 25 | */ |
---|
26 | | -#include <drm/drmP.h> |
---|
| 26 | + |
---|
| 27 | +#include <linux/pci.h> |
---|
| 28 | + |
---|
27 | 29 | #include <drm/drm_crtc_helper.h> |
---|
28 | 30 | #include <drm/amdgpu_drm.h> |
---|
29 | 31 | #include "amdgpu.h" |
---|
30 | 32 | #include "amdgpu_connectors.h" |
---|
| 33 | +#include "amdgpu_display.h" |
---|
31 | 34 | #include "atom.h" |
---|
32 | 35 | #include "atombios_encoders.h" |
---|
33 | 36 | #include "atombios_dp.h" |
---|
.. | .. |
---|
67 | 70 | amdgpu_atombios_encoder_get_backlight_level(struct amdgpu_encoder *amdgpu_encoder) |
---|
68 | 71 | { |
---|
69 | 72 | struct drm_device *dev = amdgpu_encoder->base.dev; |
---|
70 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 73 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
71 | 74 | |
---|
72 | 75 | if (!(adev->mode_info.firmware_flags & ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU)) |
---|
73 | 76 | return 0; |
---|
.. | .. |
---|
81 | 84 | { |
---|
82 | 85 | struct drm_encoder *encoder = &amdgpu_encoder->base; |
---|
83 | 86 | struct drm_device *dev = amdgpu_encoder->base.dev; |
---|
84 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 87 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
85 | 88 | struct amdgpu_encoder_atom_dig *dig; |
---|
86 | 89 | |
---|
87 | 90 | if (!(adev->mode_info.firmware_flags & ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU)) |
---|
.. | .. |
---|
149 | 152 | struct amdgpu_backlight_privdata *pdata = bl_get_data(bd); |
---|
150 | 153 | struct amdgpu_encoder *amdgpu_encoder = pdata->encoder; |
---|
151 | 154 | struct drm_device *dev = amdgpu_encoder->base.dev; |
---|
152 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 155 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
153 | 156 | |
---|
154 | 157 | return amdgpu_atombios_encoder_get_backlight_level_from_reg(adev); |
---|
155 | 158 | } |
---|
.. | .. |
---|
163 | 166 | struct drm_connector *drm_connector) |
---|
164 | 167 | { |
---|
165 | 168 | struct drm_device *dev = amdgpu_encoder->base.dev; |
---|
166 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 169 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
167 | 170 | struct backlight_device *bd; |
---|
168 | 171 | struct backlight_properties props; |
---|
169 | 172 | struct amdgpu_backlight_privdata *pdata; |
---|
.. | .. |
---|
226 | 229 | amdgpu_atombios_encoder_fini_backlight(struct amdgpu_encoder *amdgpu_encoder) |
---|
227 | 230 | { |
---|
228 | 231 | struct drm_device *dev = amdgpu_encoder->base.dev; |
---|
229 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 232 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
230 | 233 | struct backlight_device *bd = NULL; |
---|
231 | 234 | struct amdgpu_encoder_atom_dig *dig; |
---|
232 | 235 | |
---|
.. | .. |
---|
316 | 319 | amdgpu_atombios_encoder_setup_dac(struct drm_encoder *encoder, int action) |
---|
317 | 320 | { |
---|
318 | 321 | struct drm_device *dev = encoder->dev; |
---|
319 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 322 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
320 | 323 | struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
---|
321 | 324 | DAC_ENCODER_CONTROL_PS_ALLOCATION args; |
---|
322 | 325 | int index = 0; |
---|
.. | .. |
---|
379 | 382 | amdgpu_atombios_encoder_setup_dvo(struct drm_encoder *encoder, int action) |
---|
380 | 383 | { |
---|
381 | 384 | struct drm_device *dev = encoder->dev; |
---|
382 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 385 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
383 | 386 | struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
---|
384 | 387 | union dvo_encoder_control args; |
---|
385 | 388 | int index = GetIndexIntoMasterTable(COMMAND, DVOEncoderControl); |
---|
.. | .. |
---|
570 | 573 | int action, int panel_mode) |
---|
571 | 574 | { |
---|
572 | 575 | struct drm_device *dev = encoder->dev; |
---|
573 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 576 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
574 | 577 | struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
---|
575 | 578 | struct amdgpu_encoder_atom_dig *dig = amdgpu_encoder->enc_priv; |
---|
576 | 579 | struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder); |
---|
.. | .. |
---|
759 | 762 | uint8_t lane_num, uint8_t lane_set) |
---|
760 | 763 | { |
---|
761 | 764 | struct drm_device *dev = encoder->dev; |
---|
762 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 765 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
763 | 766 | struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
---|
764 | 767 | struct amdgpu_encoder_atom_dig *dig = amdgpu_encoder->enc_priv; |
---|
765 | 768 | struct drm_connector *connector; |
---|
.. | .. |
---|
1175 | 1178 | { |
---|
1176 | 1179 | struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); |
---|
1177 | 1180 | struct drm_device *dev = amdgpu_connector->base.dev; |
---|
1178 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 1181 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
1179 | 1182 | union dig_transmitter_control args; |
---|
1180 | 1183 | int index = GetIndexIntoMasterTable(COMMAND, UNIPHYTransmitterControl); |
---|
1181 | 1184 | uint8_t frev, crev; |
---|
.. | .. |
---|
1222 | 1225 | int action) |
---|
1223 | 1226 | { |
---|
1224 | 1227 | struct drm_device *dev = encoder->dev; |
---|
1225 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 1228 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
1226 | 1229 | struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
---|
1227 | 1230 | struct amdgpu_encoder *ext_amdgpu_encoder = to_amdgpu_encoder(ext_encoder); |
---|
1228 | 1231 | union external_encoder_control args; |
---|
.. | .. |
---|
1463 | 1466 | amdgpu_atombios_encoder_set_crtc_source(struct drm_encoder *encoder) |
---|
1464 | 1467 | { |
---|
1465 | 1468 | struct drm_device *dev = encoder->dev; |
---|
1466 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 1469 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
1467 | 1470 | struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
---|
1468 | 1471 | struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(encoder->crtc); |
---|
1469 | 1472 | union crtc_source_param args; |
---|
.. | .. |
---|
1670 | 1673 | void |
---|
1671 | 1674 | amdgpu_atombios_encoder_init_dig(struct amdgpu_device *adev) |
---|
1672 | 1675 | { |
---|
1673 | | - struct drm_device *dev = adev->ddev; |
---|
| 1676 | + struct drm_device *dev = adev_to_drm(adev); |
---|
1674 | 1677 | struct drm_encoder *encoder; |
---|
1675 | 1678 | |
---|
1676 | 1679 | list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) { |
---|
.. | .. |
---|
1698 | 1701 | struct drm_connector *connector) |
---|
1699 | 1702 | { |
---|
1700 | 1703 | struct drm_device *dev = encoder->dev; |
---|
1701 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 1704 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
1702 | 1705 | struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
---|
1703 | 1706 | struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); |
---|
1704 | 1707 | |
---|
.. | .. |
---|
1748 | 1751 | struct drm_connector *connector) |
---|
1749 | 1752 | { |
---|
1750 | 1753 | struct drm_device *dev = encoder->dev; |
---|
1751 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 1754 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
1752 | 1755 | struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
---|
1753 | 1756 | struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); |
---|
1754 | 1757 | uint32_t bios_0_scratch; |
---|
.. | .. |
---|
1787 | 1790 | struct drm_connector *connector) |
---|
1788 | 1791 | { |
---|
1789 | 1792 | struct drm_device *dev = encoder->dev; |
---|
1790 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 1793 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
1791 | 1794 | struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
---|
1792 | 1795 | struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); |
---|
1793 | 1796 | struct drm_encoder *ext_encoder = amdgpu_get_external_encoder(encoder); |
---|
.. | .. |
---|
1845 | 1848 | bool connected) |
---|
1846 | 1849 | { |
---|
1847 | 1850 | struct drm_device *dev = connector->dev; |
---|
1848 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 1851 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
1849 | 1852 | struct amdgpu_connector *amdgpu_connector = |
---|
1850 | 1853 | to_amdgpu_connector(connector); |
---|
1851 | 1854 | struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder); |
---|
.. | .. |
---|
1996 | 1999 | amdgpu_atombios_encoder_get_lcd_info(struct amdgpu_encoder *encoder) |
---|
1997 | 2000 | { |
---|
1998 | 2001 | struct drm_device *dev = encoder->base.dev; |
---|
1999 | | - struct amdgpu_device *adev = dev->dev_private; |
---|
| 2002 | + struct amdgpu_device *adev = drm_to_adev(dev); |
---|
2000 | 2003 | struct amdgpu_mode_info *mode_info = &adev->mode_info; |
---|
2001 | 2004 | int index = GetIndexIntoMasterTable(DATA, LVDS_Info); |
---|
2002 | 2005 | uint16_t data_offset, misc; |
---|