Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amdgpu: rework i2c init and fini

No functional change. Rework the code to allow for
adding some additional i2c buses in conjunction with DC
in the future.

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

+11 -4
+2 -4
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
··· 4465 4465 goto failed; 4466 4466 } 4467 4467 /* init i2c buses */ 4468 - if (!amdgpu_device_has_dc_support(adev)) 4469 - amdgpu_atombios_i2c_init(adev); 4468 + amdgpu_i2c_init(adev); 4470 4469 } 4471 4470 } 4472 4471 ··· 4734 4735 amdgpu_reset_fini(adev); 4735 4736 4736 4737 /* free i2c buses */ 4737 - if (!amdgpu_device_has_dc_support(adev)) 4738 - amdgpu_i2c_fini(adev); 4738 + amdgpu_i2c_fini(adev); 4739 4739 4740 4740 if (amdgpu_emu_mode != 1) 4741 4741 amdgpu_atombios_fini(adev);
+8
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.c
··· 225 225 kfree(i2c); 226 226 } 227 227 228 + void amdgpu_i2c_init(struct amdgpu_device *adev) 229 + { 230 + if (!adev->is_atom_fw) { 231 + if (!amdgpu_device_has_dc_support(adev)) 232 + amdgpu_atombios_i2c_init(adev); 233 + } 234 + } 235 + 228 236 /* remove all the buses */ 229 237 void amdgpu_i2c_fini(struct amdgpu_device *adev) 230 238 {
+1
drivers/gpu/drm/amd/amdgpu/amdgpu_i2c.h
··· 28 28 const struct amdgpu_i2c_bus_rec *rec, 29 29 const char *name); 30 30 void amdgpu_i2c_destroy(struct amdgpu_i2c_chan *i2c); 31 + void amdgpu_i2c_init(struct amdgpu_device *adev); 31 32 void amdgpu_i2c_fini(struct amdgpu_device *adev); 32 33 struct amdgpu_i2c_chan * 33 34 amdgpu_i2c_lookup(struct amdgpu_device *adev,