hc
2024-05-10 cde9070d9970eef1f7ec2360586c802a16230ad8
kernel/drivers/gpu/drm/amd/amdgpu/atombios_encoders.c
....@@ -23,11 +23,14 @@
2323 * Authors: Dave Airlie
2424 * Alex Deucher
2525 */
26
-#include <drm/drmP.h>
26
+
27
+#include <linux/pci.h>
28
+
2729 #include <drm/drm_crtc_helper.h>
2830 #include <drm/amdgpu_drm.h>
2931 #include "amdgpu.h"
3032 #include "amdgpu_connectors.h"
33
+#include "amdgpu_display.h"
3134 #include "atom.h"
3235 #include "atombios_encoders.h"
3336 #include "atombios_dp.h"
....@@ -67,7 +70,7 @@
6770 amdgpu_atombios_encoder_get_backlight_level(struct amdgpu_encoder *amdgpu_encoder)
6871 {
6972 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);
7174
7275 if (!(adev->mode_info.firmware_flags & ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU))
7376 return 0;
....@@ -81,7 +84,7 @@
8184 {
8285 struct drm_encoder *encoder = &amdgpu_encoder->base;
8386 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);
8588 struct amdgpu_encoder_atom_dig *dig;
8689
8790 if (!(adev->mode_info.firmware_flags & ATOM_BIOS_INFO_BL_CONTROLLED_BY_GPU))
....@@ -149,7 +152,7 @@
149152 struct amdgpu_backlight_privdata *pdata = bl_get_data(bd);
150153 struct amdgpu_encoder *amdgpu_encoder = pdata->encoder;
151154 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);
153156
154157 return amdgpu_atombios_encoder_get_backlight_level_from_reg(adev);
155158 }
....@@ -163,7 +166,7 @@
163166 struct drm_connector *drm_connector)
164167 {
165168 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);
167170 struct backlight_device *bd;
168171 struct backlight_properties props;
169172 struct amdgpu_backlight_privdata *pdata;
....@@ -226,7 +229,7 @@
226229 amdgpu_atombios_encoder_fini_backlight(struct amdgpu_encoder *amdgpu_encoder)
227230 {
228231 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);
230233 struct backlight_device *bd = NULL;
231234 struct amdgpu_encoder_atom_dig *dig;
232235
....@@ -316,7 +319,7 @@
316319 amdgpu_atombios_encoder_setup_dac(struct drm_encoder *encoder, int action)
317320 {
318321 struct drm_device *dev = encoder->dev;
319
- struct amdgpu_device *adev = dev->dev_private;
322
+ struct amdgpu_device *adev = drm_to_adev(dev);
320323 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
321324 DAC_ENCODER_CONTROL_PS_ALLOCATION args;
322325 int index = 0;
....@@ -379,7 +382,7 @@
379382 amdgpu_atombios_encoder_setup_dvo(struct drm_encoder *encoder, int action)
380383 {
381384 struct drm_device *dev = encoder->dev;
382
- struct amdgpu_device *adev = dev->dev_private;
385
+ struct amdgpu_device *adev = drm_to_adev(dev);
383386 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
384387 union dvo_encoder_control args;
385388 int index = GetIndexIntoMasterTable(COMMAND, DVOEncoderControl);
....@@ -570,7 +573,7 @@
570573 int action, int panel_mode)
571574 {
572575 struct drm_device *dev = encoder->dev;
573
- struct amdgpu_device *adev = dev->dev_private;
576
+ struct amdgpu_device *adev = drm_to_adev(dev);
574577 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
575578 struct amdgpu_encoder_atom_dig *dig = amdgpu_encoder->enc_priv;
576579 struct drm_connector *connector = amdgpu_get_connector_for_encoder(encoder);
....@@ -759,7 +762,7 @@
759762 uint8_t lane_num, uint8_t lane_set)
760763 {
761764 struct drm_device *dev = encoder->dev;
762
- struct amdgpu_device *adev = dev->dev_private;
765
+ struct amdgpu_device *adev = drm_to_adev(dev);
763766 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
764767 struct amdgpu_encoder_atom_dig *dig = amdgpu_encoder->enc_priv;
765768 struct drm_connector *connector;
....@@ -1175,7 +1178,7 @@
11751178 {
11761179 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
11771180 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);
11791182 union dig_transmitter_control args;
11801183 int index = GetIndexIntoMasterTable(COMMAND, UNIPHYTransmitterControl);
11811184 uint8_t frev, crev;
....@@ -1222,7 +1225,7 @@
12221225 int action)
12231226 {
12241227 struct drm_device *dev = encoder->dev;
1225
- struct amdgpu_device *adev = dev->dev_private;
1228
+ struct amdgpu_device *adev = drm_to_adev(dev);
12261229 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
12271230 struct amdgpu_encoder *ext_amdgpu_encoder = to_amdgpu_encoder(ext_encoder);
12281231 union external_encoder_control args;
....@@ -1463,7 +1466,7 @@
14631466 amdgpu_atombios_encoder_set_crtc_source(struct drm_encoder *encoder)
14641467 {
14651468 struct drm_device *dev = encoder->dev;
1466
- struct amdgpu_device *adev = dev->dev_private;
1469
+ struct amdgpu_device *adev = drm_to_adev(dev);
14671470 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
14681471 struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(encoder->crtc);
14691472 union crtc_source_param args;
....@@ -1670,7 +1673,7 @@
16701673 void
16711674 amdgpu_atombios_encoder_init_dig(struct amdgpu_device *adev)
16721675 {
1673
- struct drm_device *dev = adev->ddev;
1676
+ struct drm_device *dev = adev_to_drm(adev);
16741677 struct drm_encoder *encoder;
16751678
16761679 list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
....@@ -1698,7 +1701,7 @@
16981701 struct drm_connector *connector)
16991702 {
17001703 struct drm_device *dev = encoder->dev;
1701
- struct amdgpu_device *adev = dev->dev_private;
1704
+ struct amdgpu_device *adev = drm_to_adev(dev);
17021705 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
17031706 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
17041707
....@@ -1748,7 +1751,7 @@
17481751 struct drm_connector *connector)
17491752 {
17501753 struct drm_device *dev = encoder->dev;
1751
- struct amdgpu_device *adev = dev->dev_private;
1754
+ struct amdgpu_device *adev = drm_to_adev(dev);
17521755 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
17531756 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
17541757 uint32_t bios_0_scratch;
....@@ -1787,7 +1790,7 @@
17871790 struct drm_connector *connector)
17881791 {
17891792 struct drm_device *dev = encoder->dev;
1790
- struct amdgpu_device *adev = dev->dev_private;
1793
+ struct amdgpu_device *adev = drm_to_adev(dev);
17911794 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
17921795 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
17931796 struct drm_encoder *ext_encoder = amdgpu_get_external_encoder(encoder);
....@@ -1845,7 +1848,7 @@
18451848 bool connected)
18461849 {
18471850 struct drm_device *dev = connector->dev;
1848
- struct amdgpu_device *adev = dev->dev_private;
1851
+ struct amdgpu_device *adev = drm_to_adev(dev);
18491852 struct amdgpu_connector *amdgpu_connector =
18501853 to_amdgpu_connector(connector);
18511854 struct amdgpu_encoder *amdgpu_encoder = to_amdgpu_encoder(encoder);
....@@ -1996,7 +1999,7 @@
19961999 amdgpu_atombios_encoder_get_lcd_info(struct amdgpu_encoder *encoder)
19972000 {
19982001 struct drm_device *dev = encoder->base.dev;
1999
- struct amdgpu_device *adev = dev->dev_private;
2002
+ struct amdgpu_device *adev = drm_to_adev(dev);
20002003 struct amdgpu_mode_info *mode_info = &adev->mode_info;
20012004 int index = GetIndexIntoMasterTable(DATA, LVDS_Info);
20022005 uint16_t data_offset, misc;