[Nouveau] [PATCH v2 6/7] copy: add maxwell/pascal copy engine classes

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu Oct 27 17:10:05 UTC 2016


0xc0b5 is not in rnndb, I guess it should be GP100_COPY, right?

Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

On 10/27/2016 04:02 PM, Ilia Mirkin wrote:
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>  src/nouveau_copy.c |  2 ++
>  src/nvc0_accel.c   | 10 +++++++++-
>  2 files changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/src/nouveau_copy.c b/src/nouveau_copy.c
> index c139de6..7118a7a 100644
> --- a/src/nouveau_copy.c
> +++ b/src/nouveau_copy.c
> @@ -42,6 +42,8 @@ nouveau_copy_init(ScreenPtr pScreen)
>  		int engine;
>  		Bool (*init)(NVPtr);
>  	} methods[] = {
> +		{ 0xc0b5, 0, nouveau_copya0b5_init },
> +		{ 0xb0b5, 0, nouveau_copya0b5_init },
>  		{ 0xa0b5, 0, nouveau_copya0b5_init },
>  		{ 0x90b8, 5, nouveau_copy90b5_init },
>  		{ 0x90b5, 4, nouveau_copy90b5_init },
> diff --git a/src/nvc0_accel.c b/src/nvc0_accel.c
> index 8da5051..d0a835e 100644
> --- a/src/nvc0_accel.c
> +++ b/src/nvc0_accel.c
> @@ -156,9 +156,17 @@ NVAccelInitCOPY_NVE0(ScrnInfoPtr pScrn)
>  {
>  	NVPtr pNv = NVPTR(pScrn);
>  	struct nouveau_pushbuf *push = pNv->pushbuf;
> +	uint32_t class;
>  	int ret;
>
> -	ret = nouveau_object_new(pNv->channel, 0x0000a0b5, 0xa0b5,
> +	if (pNv->dev->chipset < 0x110)
> +		class = 0xa0b5;
> +	else if (pNv->dev->chipset < 0x130)
> +		class = 0xb0b5;
> +	else
> +		class = 0xc0b5;
> +
> +	ret = nouveau_object_new(pNv->channel, class, class,
>  				 NULL, 0, &pNv->NvCOPY);
>  	if (ret)
>  		return FALSE;
>


More information about the Nouveau mailing list