• Monk Liu's avatar
    drm/amdgpu: adjust sequence of ip_discovery init and timeout_setting · dffa11b4
    Monk Liu authored
    what:
    1)move timtout setting before ip_early_init to reduce exclusive mode
    cost for SRIOV
    
    2)move ip_discovery_init() to inside of amdgpu_discovery_reg_base_init()
    it is a prepare for the later upcoming patches.
    
    why:
    in later upcoming patches we would use a new mailbox event --
    "req_gpu_init_data", which is a callback hooked in adev->virt.ops and
    this callback send a new event "REQ_GPU_INIT_DAT" to host to notify
    host to do some preparation like "IP discovery/vbios on the VF FB"
    and this callback must be:
    
    A) invoked after set_ip_block() because virt.ops is configured during
    set_ip_block()
    
    B) invoked before ip_discovery_init() becausen ip_discovery_init()
    need host side prepares everything in VF FB first.
    
    current place of ip_discovery_init() is before we can invoke callback
    of adev->virt.ops, thus we must move ip_discovery_init() to a place
    after the adev->virt.ops all settle done, and the perfect place is in
    amdgpu_discovery_reg_base_init()
    Signed-off-by: default avatarMonk Liu <Monk.Liu@amd.com>
    Reviewed-by: default avatarEmily Deng <Emily.Deng@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    dffa11b4
amdgpu_discovery.c 11.5 KB