[PATCH i-g-t 07/12] lib/intel_bufops: Add Ys tiling in linear_to and to_linear path

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Mon Jun 17 11:16:45 UTC 2024


I don't think we have anywhere in kernel Ys enabled. I suppose this is 
just for your tool use, hence

Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>

On 27.5.2024 10.33, Zbigniew Kempczyński wrote:
> To iterate over all tilings we need to have each case addressed
> in the code. Add missing Ys case.
> 
> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Cc: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> ---
>   lib/intel_blt.c       | 3 +++
>   lib/intel_bufops.c    | 6 ++++--
>   lib/intel_cmds_info.h | 1 +
>   3 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/intel_blt.c b/lib/intel_blt.c
> index d1200ca862..20c42eec14 100644
> --- a/lib/intel_blt.c
> +++ b/lib/intel_blt.c
> @@ -540,6 +540,7 @@ const char *blt_tiling_name(enum blt_tiling_type tiling)
>   	case T_TILE4:  return "tile4";
>   	case T_TILE64: return "tile64";
>   	case T_YFMAJOR: return "yfmajor";
> +	case T_YSMAJOR: return "ysmajor";
>   	default:
>   		break;
>   	}
> @@ -582,6 +583,7 @@ int blt_tile_to_i915_tile(enum blt_tiling_type tiling)
>   	case T_TILE4:  return I915_TILING_4;
>   	case T_TILE64: return I915_TILING_64;
>   	case T_YFMAJOR: return I915_TILING_Yf;
> +	case T_YSMAJOR: return I915_TILING_Ys;
>   	default:
>   		break;
>   	}
> @@ -606,6 +608,7 @@ enum blt_tiling_type i915_tile_to_blt_tile(uint32_t tiling)
>   	case I915_TILING_4:	return T_TILE4;
>   	case I915_TILING_64:	return T_TILE64;
>   	case I915_TILING_Yf:	return T_YFMAJOR;
> +	case I915_TILING_Ys:	return T_YSMAJOR;
>   	default:
>   		igt_assert_f(0, "Unknown tiling!\n");
>   	}
> diff --git a/lib/intel_bufops.c b/lib/intel_bufops.c
> index 36b9aa2a8c..38b720624e 100644
> --- a/lib/intel_bufops.c
> +++ b/lib/intel_bufops.c
> @@ -1697,8 +1697,6 @@ static struct buf_ops *__buf_ops_create(int fd, bool check_idempotency)
>   		bops->y_to_linear = copy_y_to_linear;
>   		bops->linear_to_tile4 = copy_linear_to_tile4;
>   		bops->tile4_to_linear = copy_tile4_to_linear;
> -		bops->linear_to_ys = NULL;
> -		bops->ys_to_linear = NULL;
>   
>   		return bops;
>   	}
> @@ -1956,6 +1954,10 @@ bool buf_ops_set_software_tiling(struct buf_ops *bops,
>   		igt_debug("-> use SW on tiling Yf\n");
>   		break;
>   
> +	case I915_TILING_Ys:
> +		igt_debug("-> use SW on tiling Ys\n");
> +		break;
> +
>   	default:
>   		igt_warn("Invalid tiling: %d\n", tiling);
>   		was_changed = false;
> diff --git a/lib/intel_cmds_info.h b/lib/intel_cmds_info.h
> index 6f7d655083..7960e0412e 100644
> --- a/lib/intel_cmds_info.h
> +++ b/lib/intel_cmds_info.h
> @@ -14,6 +14,7 @@ enum blt_tiling_type {
>   	T_YMAJOR,
>   	T_TILE4,
>   	T_YFMAJOR,
> +	T_YSMAJOR,
>   	T_TILE64,
>   	__BLT_MAX_TILING
>   };



More information about the igt-dev mailing list