• Rodrigo Vivi's avatar
    drm/i915: Include asm sources for {ivb, hsw}_clear_kernel.c · 5a7eeb8b
    Rodrigo Vivi authored
    Alexandre Oliva has recently removed these files from Linux Libre
    with concerns that the sources weren't available.
    
    The sources are available on IGT repository, and only open source
    tools are used to generate the {ivb,hsw}_clear_kernel.c files.
    
    However, the remaining concern from Alexandre Oliva was around
    GPL license and the source not been present when distributing
    the code.
    
    So, it looks like 2 alternatives are possible, the use of
    linux-firmware.git repository to store the blob or making sure
    that the source is also present in our tree. Since the goal
    is to limit the i915 firmware to only the micro-controller blobs
    let's make sure that we do include the asm sources here in our tree.
    
    Btw, I tried to have some diligence here and make sure that the
    asms that these commits are adding are truly the source for
    the mentioned files:
    
    igt$ ./scripts/generate_clear_kernel.sh -g ivb \
         -m ~/mesa/build/src/intel/tools/i965_asm
    Output file not specified - using default file "ivb-cb_assembled"
    
    Generating gen7 CB Kernel assembled file "ivb_clear_kernel.c"
    for i915 driver...
    
    igt$ diff ~/i915/drm-tip/drivers/gpu/drm/i915/gt/ivb_clear_kernel.c \
         ivb_clear_kernel.c
    
    <  * Generated by: IGT Gpu Tools on Fri 21 Feb 2020 05:29:32 AM UTC
    >  * Generated by: IGT Gpu Tools on Mon 08 Jun 2020 10:00:54 AM PDT
    61c61
    < };
    > };
    \ No newline at end of file
    
    igt$ ./scripts/generate_clear_kernel.sh -g hsw \
         -m ~/mesa/build/src/intel/tools/i965_asm
    Output file not specified - using default file "hsw-cb_assembled"
    
    Generating gen7.5 CB Kernel assembled file "hsw_clear_kernel.c"
    for i915 driver...
    
    igt$ diff ~/i915/drm-tip/drivers/gpu/drm/i915/gt/hsw_clear_kernel.c \
         hsw_clear_kernel.c
    5c5
    <  * Generated by: IGT Gpu Tools on Fri 21 Feb 2020 05:30:13 AM UTC
    >  * Generated by: IGT Gpu Tools on Mon 08 Jun 2020 10:01:42 AM PDT
    61c61
    < };
    > };
    \ No newline at end of file
    
    Used IGT and Mesa master repositories from Fri Jun 5 2020)
    IGT: 53e8c878a6fb ("tests/kms_chamelium: Force reprobe after replugging
         the connector")
    Mesa: 5d13c7477eb1 ("radv: set keep_statistic_info with
          RADV_DEBUG=shaderstats")
    Mesa built with: meson build -D platforms=drm,x11 -D dri-drivers=i965 \
                     -D gallium-drivers=iris -D prefix=/usr \
    		 -D libdir=/usr/lib64/ -Dtools=intel \
    		 -Dkulkan-drivers=intel && ninja -C build
    
    v2: Header clean-up and include build instructions in a readme (Chris)
        Modified commit message to respect check-patch
    
    Reference: http://www.fsfla.org/pipermail/linux-libre/2020-June/003374.html
    Reference: http://www.fsfla.org/pipermail/linux-libre/2020-June/003375.html
    Fixes: 47f8253d ("drm/i915/gen7: Clear all EU/L3 residual contexts")
    Cc: <stable@vger.kernel.org> # v5.7+
    Cc: Alexandre Oliva <lxoliva@fsfla.org>
    Cc: Prathap Kumar Valsan <prathap.kumar.valsan@intel.com>
    Cc: Akeem G Abodunrin <akeem.g.abodunrin@intel.com>
    Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    Reviewed-by: default avatarJon Bloomfield <jon.bloomfield@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200610201807.191440-1-rodrigo.vivi@intel.com
    5a7eeb8b
ivb.asm 6.81 KB