From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 83708] [vdpau,uvd] kernel oops, Unable to handle kernel paging request at virtual address Date: Wed, 24 Sep 2014 15:18:34 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0567707952==" Return-path: Received: from culpepper.freedesktop.org (unknown [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id 01D556E5F7 for ; Wed, 24 Sep 2014 08:18:34 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============0567707952== Content-Type: multipart/alternative; boundary="1411571913.f4AB6d40.30722"; charset="us-ascii" --1411571913.f4AB6d40.30722 Date: Wed, 24 Sep 2014 15:18:33 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable https://bugs.freedesktop.org/show_bug.cgi?id=3D83708 --- Comment #15 from Jack --- (In reply to comment #14) > (In reply to comment #13) > > This patch can solve the address problem. >=20 > writel() and readl() already convert to/from little endian. Does it work > better if you remove cpu_to_le32() from all lines using those functions? >=20 >=20 > > @@ -751,22 +748,12 @@ > > } > >=20=20 > > /* stitch together an UVD destroy msg */ > > -#if 0 > > - msg[0] =3D cpu_to_le32(0x00000de4); > > - msg[1] =3D cpu_to_le32(0x00000002); > > - msg[2] =3D cpu_to_le32(handle); > > - msg[3] =3D cpu_to_le32(0x00000000); > > - for (i =3D 4; i < 1024; ++i) > > - msg[i] =3D cpu_to_le32(0x0); > > -#endif > > -#if 1 > > writel(cpu_to_le32(0x00000de4),&msg[1]); > > writel(cpu_to_le32(0x00000002),&msg[2]); > > writel(cpu_to_le32(handle),&msg[3]); > > writel(cpu_to_le32(0x00000000),&msg[4]); > > for (i =3D 4; i < 1024; ++i) > > writel(cpu_to_le32(0x0),&msg[i]); > > -#endif > > radeon_bo_kunmap(bo); > > radeon_bo_unreserve(bo); >=20 > Why are you enabling this code? 1. I do not add cpu_to_le32() first ,but when I trace the messages from printk,the value of msg_type is reversed. Add, all is ok. 2. #if 0 ...#endif is the original code from kernel. #if 1 ...#endif is cha= nged code. is the same as 1. Must do cpu_to_le32 transfer By the way, u said writel() and readl() already convert to/from little endian. is based on the X86 arch implement? --=20 You are receiving this mail because: You are the assignee for the bug. --1411571913.f4AB6d40.30722 Date: Wed, 24 Sep 2014 15:18:33 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Commen= t # 15 on bug 83708<= /a> from Jack
(In reply to comment #=
14)
> (In reply to comment #13)
> > This patch can solve the address problem.
>=20
> writel() and readl() already convert to/from little endian. Does it wo=
rk
> better if you remove cpu_to_le32() from all lines using those function=
s?
>=20
>=20
> > @@ -751,22 +748,12 @@
> >  	}
> >=20=20
> >  	/* stitch together an UVD destroy msg */
> > -#if 0
> > -	msg[0] =3D cpu_to_le32(0x00000de4);
> > -	msg[1] =3D cpu_to_le32(0x00000002);
> > -	msg[2] =3D cpu_to_le32(handle);
> > -	msg[3] =3D cpu_to_le32(0x00000000);
> > -	for (i =3D 4; i < 1024; ++i)
> > -		msg[i] =3D cpu_to_le32(0x0);
> > -#endif
> > -#if 1
> >  	writel(cpu_to_le32(0x00000de4),&msg[1]);
> >          writel(cpu_to_le32(0x00000002),&msg[2]);
> >          writel(cpu_to_le32(handle),&msg[3]);
> >          writel(cpu_to_le32(0x00000000),&msg[4]);
> >          for (i =3D 4; i < 1024; ++i)
> >                  writel(cpu_to_le32(0x0),&msg[i]);
> > -#endif
> >  	radeon_bo_kunmap(bo);
> >  	radeon_bo_unreserve(bo);
>=20
> Why are you enabling this code?

1. I do not add cpu_to_le32() first ,but when I trace the messages from
printk,the value of msg_type is reversed. Add, all is ok.
2. #if 0 ...#endif is the original code from kernel. #if 1 ...#endif is cha=
nged
code. is the same as 1. Must do cpu_to_le32 transfer

  By the way, u said writel() and readl() already convert to/from little
endian.
is based on the X86 arch implement?


You are receiving this mail because: =20=20=20=20=20=20
  • You are the assignee for the bug.
--1411571913.f4AB6d40.30722-- --===============0567707952== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel --===============0567707952==--