We can certainly upstream ZFB support if we clean it up a bit more. If we need some different default values and/or disable vbios access we can add an amdgpu_emulation parameter to trigger setting those automatically. But please, no single #ifdef AMDGPU_EMULATOR_BUILD in the code. Nobody outside AMD will build this and so sooner or later it is going to break horrible. Regards, Christian. Am 01.02.2018 um 21:51 schrieb Liu, Shaoyun: > The changes I send out are try to minimize the emulation specific code , like the ip_block_mask change , so developer can just change the module parameter to enable the specific ip block during emulation. Otherwise we need a messy ifdef to enable specific ip block for the specific ASIC to run on emulator . The soc aisc init function will be basic specific and will be added on developer works on that asic . > > Regards > Shaoyun.liu > > -----Original Message----- > From: Bridgman, John > Sent: Thursday, February 01, 2018 3:37 PM > To: Alex Deucher; Koenig, Christian > Cc: amd-gfx list; Liu, Shaoyun > Subject: RE: [PATCH 1/2] drm/amdgpu: Set module parameter for emulation > > If it helps, my recollection was that Intel was also pushing some pre-silicon support code upstream. > > Agree that if the changes get big/messy/invasive we should rethink this, but my impression is that the changes can be fairly small. There will be one Big Honkin' function that programs ~10,000 registers with some readback and delay logic specific to the emulator, but we can replace that with a stub and maybe move it to a separate file. > > Christian, are you OK with upstreaming the ZFB patches ? We will be using those on both emulator and real silicon. > > Thanks, > John > >> -----Original Message----- >> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf >> Of Alex Deucher >> Sent: Thursday, February 01, 2018 3:31 PM >> To: Koenig, Christian >> Cc: amd-gfx list; Liu, Shaoyun >> Subject: Re: [PATCH 1/2] drm/amdgpu: Set module parameter for emulation >> >> On Thu, Feb 1, 2018 at 3:19 PM, Christian König >> <ckoenig.leichtzumerken at gmail.com> wrote: >>> I don't think we should push any emulation specific code upstream. >>> >>> Nobody outside of AMD can test anything of that not actually make any >>> use of it. >> It makes it much easier to maintain the code however and debug things >> on the emulator in the future if we encounter an issue, even after we >> get silicon back. Some emulation features can even be used on real >> silicon, although there is not much value in doing so. >> >> >>> Regards, >>> Christian. >>> >>> >>> Am 01.02.2018 um 21:15 schrieb Shaoyun Liu: >>>> During emulation period, use the directly load for firmware also >>>> only enable the GFX , SDMA and necessary common, gmc, ih IP block >>>> >>>> Signed-off-by: Shaoyun Liu <Shaoyun.Liu at amd.com> >>>> >>>> Change-Id: I325910fa06be4060725f404e471cc79daaf343c3 >>>> --- >>>> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 10 +++++++++- >>>> 1 file changed, 9 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c >>>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c >>>> index 5a5ed47..7a1c670 100644 >>>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c >>>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c >>>> @@ -93,10 +93,18 @@ >>>> int amdgpu_msi = -1; >>>> int amdgpu_lockup_timeout = 10000; >>>> int amdgpu_dpm = -1; >>>> -int amdgpu_fw_load_type = -1; >>>> int amdgpu_aspm = -1; >>>> int amdgpu_runtime_pm = -1; >>>> +#ifndef AMDGPU_EMULATOR_BUILD >>>> uint amdgpu_ip_block_mask = 0xffffffff; >>>> +int amdgpu_fw_load_type = -1; >>>> +#else >>>> +/* Only enable GFX and SDMA + common, gmc, ih IP block for >>>> +emulation */ uint amdgpu_ip_block_mask = 0xc7; >> I'm not sure it's a good idea to hardcode the block mask in this case. >> We'll be changing it as we test additional blocks on the emulator. >> >> Alex >> >>>> +/* Normally, only direct load is support durign emulation time */ >>>> +int amdgpu_fw_load_type = 0; #endif >>>> + >>>> int amdgpu_bapm = -1; >>>> int amdgpu_deep_color = 0; >>>> int amdgpu_vm_size = -1; >>> >>> _______________________________________________ >>> amd-gfx mailing list >>> amd-gfx at lists.freedesktop.org >>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx >> _______________________________________________ >> amd-gfx mailing list >> amd-gfx at lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx