[PATCH v2] drm/xe: Generate oob before compiling anything
Lucas De Marchi
lucas.demarchi at intel.com
Tue Jul 9 19:46:00 UTC 2024
On Tue, Jul 09, 2024 at 03:08:29PM GMT, Rodrigo Vivi wrote:
>On Mon, Jul 08, 2024 at 02:29:06PM -0700, Lucas De Marchi wrote:
>> Instead of keep adding more dependencies as WAs are needed in different
>> places of the driver, just add a rule with all the objects so the code
>> generation happens before anything else.
>>
>> While at it, group lines related to wa_oob in the Makefile.
>>
>> v2: Prefix $(obj) when declaring dependency
>>
>> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
>> ---
>>
>> This v2 is now built-tested with the same container CI is using, so
>> hopefully it's now compatible with make < 4.3.
>
>with crossed fingers here and trusting more your build tests then my Makefile skills:
>
>Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
well.. I'm confident this works for me and for CI. But there's a chance
to break some obscure version of make/compiler people are using out
there.... but we will have to try to really find out.
Thanks, I will apply it later today.
Lucas De Marchi
>
>>
>> drivers/gpu/drm/xe/Makefile | 25 ++++---------------------
>> 1 file changed, 4 insertions(+), 21 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
>> index 0eb0acc4f198..1ff9602a52f6 100644
>> --- a/drivers/gpu/drm/xe/Makefile
>> +++ b/drivers/gpu/drm/xe/Makefile
>> @@ -12,35 +12,15 @@ subdir-ccflags-$(CONFIG_DRM_XE_WERROR) += -Werror
>> subdir-ccflags-y += -I$(obj) -I$(src)
>>
>> # generated sources
>> -hostprogs := xe_gen_wa_oob
>>
>> +hostprogs := xe_gen_wa_oob
>> generated_oob := $(obj)/generated/xe_wa_oob.c $(obj)/generated/xe_wa_oob.h
>> -
>> quiet_cmd_wa_oob = GEN $(notdir $(generated_oob))
>> cmd_wa_oob = mkdir -p $(@D); $^ $(generated_oob)
>> -
>> $(obj)/generated/%_wa_oob.c $(obj)/generated/%_wa_oob.h: $(obj)/xe_gen_wa_oob \
>> $(src)/xe_wa_oob.rules
>> $(call cmd,wa_oob)
>>
>> -uses_generated_oob := \
>> - $(obj)/xe_ggtt.o \
>> - $(obj)/xe_device.o \
>> - $(obj)/xe_gsc.o \
>> - $(obj)/xe_gt.o \
>> - $(obj)/xe_guc.o \
>> - $(obj)/xe_guc_ads.o \
>> - $(obj)/xe_guc_pc.o \
>> - $(obj)/xe_migrate.o \
>> - $(obj)/xe_pat.o \
>> - $(obj)/xe_ring_ops.o \
>> - $(obj)/xe_vm.o \
>> - $(obj)/xe_wa.o \
>> - $(obj)/xe_ttm_stolen_mgr.o \
>> - $(obj)/display/xe_display_wa.o
>> -
>> -$(uses_generated_oob): $(generated_oob)
>> -
>> # Please keep these build lists sorted!
>>
>> # core driver code
>> @@ -324,3 +304,6 @@ quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
>>
>> $(obj)/%.hdrtest: $(src)/%.h FORCE
>> $(call if_changed_dep,hdrtest)
>> +
>> +uses_generated_oob := $(addprefix $(obj)/, $(xe-y))
>> +$(uses_generated_oob): $(obj)/generated/xe_wa_oob.h
>> --
>> 2.43.0
>>
More information about the Intel-xe
mailing list