On Mon, Mar 19, 2018 at 12:29:29PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the drm-misc tree got a conflict in:
> 
>   drivers/gpu/drm/i915/intel_color.c
> 
> between commit:
> 
>   db61d160b3ed ("drm/i915: Remove the pointless 1:1 matrix copy")
> 
> from the drm tree and commit:
> 
>   d5517a39dce4 ("drm/i915: Remove the blob->data casts")
> 
> from the drm-misc tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc drivers/gpu/drm/i915/intel_color.c
> index 89ab0f70aa22,768f1c26080e..000000000000
> --- a/drivers/gpu/drm/i915/intel_color.c
> +++ b/drivers/gpu/drm/i915/intel_color.c
> @@@ -140,28 -140,20 +140,27 @@@ static void ilk_load_csc_matrix(struct 
>       int i, pipe = intel_crtc->pipe;
>       uint16_t coeffs[9] = { 0, };
>       struct intel_crtc_state *intel_crtc_state = 
> to_intel_crtc_state(crtc_state);
>  +    bool limited_color_range = false;
>  +
>  +    /*
>  +     * FIXME if there's a gamma LUT after the CSC, we should
>  +     * do the range compression using the gamma LUT instead.
>  +     */
>  +    if (INTEL_GEN(dev_priv) >= 8 || IS_HASWELL(dev_priv))
>  +            limited_color_range = intel_crtc_state->limited_color_range;
>   
>       if (intel_crtc_state->ycbcr420) {
>  -            i9xx_load_ycbcr_conversion_matrix(intel_crtc);
>  +            ilk_load_ycbcr_conversion_matrix(intel_crtc);
>               return;
>       } else if (crtc_state->ctm) {
> -             struct drm_color_ctm *ctm =
> -                     (struct drm_color_ctm *)crtc_state->ctm->data;
> +             struct drm_color_ctm *ctm = crtc_state->ctm->data;
>  -            uint64_t input[9] = { 0, };
>  +            const u64 *input;
>  +            u64 temp[9];

Yep. Looks correct.

>   
>  -            if (intel_crtc_state->limited_color_range) {
>  -                    ctm_mult_by_limited(input, ctm->matrix);
>  -            } else {
>  -                    for (i = 0; i < ARRAY_SIZE(input); i++)
>  -                            input[i] = ctm->matrix[i];
>  -            }
>  +            if (limited_color_range)
>  +                    input = ctm_mult_by_limited(temp, ctm->matrix);
>  +            else
>  +                    input = ctm->matrix;
>   
>               /*
>                * Convert fixed point S31.32 input to format supported by the

-- 
Ville Syrjälä
Intel OTC
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to