From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33210) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aNUM4-0006Nk-42 for qemu-devel@nongnu.org; Sun, 24 Jan 2016 18:46:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aNUM2-0000sV-Lu for qemu-devel@nongnu.org; Sun, 24 Jan 2016 18:46:00 -0500 Date: Mon, 25 Jan 2016 10:27:36 +1100 From: David Gibson Message-ID: <20160124232736.GX27454@voom.redhat.com> References: <1453581610-23179-1-git-send-email-hpoussin@reactos.org> <1453581610-23179-12-git-send-email-hpoussin@reactos.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="21/Vc5rId7THQcsT" Content-Disposition: inline In-Reply-To: <1453581610-23179-12-git-send-email-hpoussin@reactos.org> Subject: Re: [Qemu-devel] [PATCH 11/13] cuda: port SET_TIME command to new framework List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?iso-8859-1?Q?Herv=E9?= Poussineau Cc: qemu-ppc@nongnu.org, Alyssa Milburn , Mark Cave-Ayland , qemu-devel@nongnu.org, Alexander Graf --21/Vc5rId7THQcsT Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Jan 23, 2016 at 09:40:08PM +0100, Herv=E9 Poussineau wrote: > Signed-off-by: Herv=E9 Poussineau Reviewed-by: David Gibson > --- > hw/misc/macio/cuda.c | 24 ++++++++++++++++++------ > 1 file changed, 18 insertions(+), 6 deletions(-) >=20 > diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c > index 55e9cff..49a79fc 100644 > --- a/hw/misc/macio/cuda.c > +++ b/hw/misc/macio/cuda.c > @@ -673,6 +673,23 @@ static bool cuda_cmd_get_time(CUDAState *s, > return true; > } > =20 > +static bool cuda_cmd_set_time(CUDAState *s, > + const uint8_t *in_data, int in_len, > + uint8_t *out_data, int *out_len) > +{ > + uint32_t ti; > + > + if (in_len !=3D 4) { > + return false; > + } > + > + ti =3D (((uint32_t)in_data[1]) << 24) + (((uint32_t)in_data[2]) << 1= 6) > + + (((uint32_t)in_data[3]) << 8) + in_data[4]; > + s->tick_offset =3D ti - (qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) > + / get_ticks_per_sec()); > + return true; > +} > + > static const CudaCommand handlers[] =3D { > { CUDA_AUTOPOLL, "AUTOPOLL", cuda_cmd_autopoll }, > { CUDA_SET_AUTO_RATE, "SET_AUTO_RATE", cuda_cmd_set_autorate }, > @@ -684,6 +701,7 @@ static const CudaCommand handlers[] =3D { > { CUDA_SET_POWER_MESSAGES, "SET_POWER_MESSAGES", > cuda_cmd_set_power_message }, > { CUDA_GET_TIME, "GET_TIME", cuda_cmd_get_time }, > + { CUDA_SET_TIME, "SET_TIME", cuda_cmd_set_time }, > }; > =20 > static void cuda_receive_packet(CUDAState *s, > @@ -691,7 +709,6 @@ static void cuda_receive_packet(CUDAState *s, > { > uint8_t obuf[16] =3D { CUDA_PACKET, 0, data[0] }; > int i, out_len =3D 0; > - uint32_t ti; > =20 > for (i =3D 0; i < ARRAY_SIZE(handlers); i++) { > const CudaCommand *desc =3D &handlers[i]; > @@ -718,11 +735,6 @@ static void cuda_receive_packet(CUDAState *s, > case CUDA_GET_6805_ADDR: > cuda_send_packet_to_host(s, obuf, 3); > return; > - case CUDA_SET_TIME: > - ti =3D (((uint32_t)data[1]) << 24) + (((uint32_t)data[2]) << 16)= + (((uint32_t)data[3]) << 8) + data[4]; > - s->tick_offset =3D ti - (qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) /= get_ticks_per_sec()); > - cuda_send_packet_to_host(s, obuf, 3); > - return; > case CUDA_COMBINED_FORMAT_IIC: > obuf[0] =3D ERROR_PACKET; > obuf[1] =3D 0x5; --=20 David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson --21/Vc5rId7THQcsT Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJWpV3oAAoJEGw4ysog2bOS2OgQANS83lqf3B3j22UU25auhebU OoPtvvDv8ManIUfwOd7qABeHeuhN60zbXjqRx1BFNeYMaMe7sYyBWEvqZ935E2UW wzgaNs20V5gPqifcOyssPqrgaSD/mTQXNhklj7hx0QXPkaRV3cgz72FwvWzNY9uF QPn/lPEUedijePSPr+Mu8qPPJBIVtlJMf+rkAVDs6dxCzvt1dgm97UQnfkpu/JHJ a7ZxBBmq9qt+TbP05M0WLuzpYzON/E1mWIsH7QRbXBgrBAi1I3zbS9BViUSEnWga 0vsZyotALBG9LhQJ6mpykNENZM3W7j22HNNjnDMOwKIlYrZGwfb3vbnnltNBGP/T yUfuXcP32XDLEqss9xnS3cp6Sl3lpNvFBIexUvhzu1dbJn6osg3N13mQwNq3zduS 8leIFCM/+P1ovGphvtFfvXeqb/iKlR3NQAybioiX3JRXIBo8/Yj0brfEbiPlGuQd qyWuX5pzOHw3vtCC9wnRCRa3mM8tysm/0+DvWkLdXg2k/YBWOmBN2mL0TPMePQz2 Is7o1sDOpZjeU90YIM9yeffZUpzFRTBSVbqadfjZfwZpIUPZkNaxAovpknqhZql3 c4/0DFaYMoQzDzbq8S/OSRxfdIsGcwD0noUORDz8BInkaDadHPOGuzXJ+Lwr+Ldl N4Bhr1Ru5FHNq9JiInt2 =SSu/ -----END PGP SIGNATURE----- --21/Vc5rId7THQcsT--