Skip to content

Instantly share code, notes, and snippets.

@sp3c73r2038
Created May 30, 2015 12:50
Show Gist options
  • Save sp3c73r2038/6c066d8c641dd13bc1d8 to your computer and use it in GitHub Desktop.
Save sp3c73r2038/6c066d8c641dd13bc1d8 to your computer and use it in GitHub Desktop.
Linux kernel, DRM and VGA_SWITCHEROO call stack
radeon module
  __init radeon_init()    (radeon_device.c)
	=> radeon_kms_pci_driver.probe = radeon_pci_probe
    => if (radeon_modeset == 1)
			"radeon kernel modesetting enabled.\n"
			driver = &kms_driver
			pdriver = &radeon_kms_pci_driver
			radeon_register_atpx_handler()    (radeon_atpx_handler.c)
	=> drm_pci_init()    (drm_pci.c)
		pci_register_driver(pdriver)

radeon_driver_load_kms()  (radeon_kms.c)

	radeon_device_init() (radeon_device.c)
	  => "init kernel modesetting"
	  => radeon_asic_init() (radeon_asic.c)
		  => .init = &rv770_init
		      => radeon_get_bios => radeon_get_bios_from_firmwaremake 
	  => radeon_init()  -> dev->init
  
  
	radeon_modeset_init()	
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment