From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33139) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aNUM2-0006NP-7O for qemu-devel@nongnu.org; Sun, 24 Jan 2016 18:45:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aNUM1-0000pa-1a for qemu-devel@nongnu.org; Sun, 24 Jan 2016 18:45:58 -0500 Date: Mon, 25 Jan 2016 10:13:14 +1100 From: David Gibson Message-ID: <20160124231314.GP27454@voom.redhat.com> References: <1453581610-23179-1-git-send-email-hpoussin@reactos.org> <1453581610-23179-4-git-send-email-hpoussin@reactos.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Vhqu5qQ3bjg0ZI9i" Content-Disposition: inline In-Reply-To: <1453581610-23179-4-git-send-email-hpoussin@reactos.org> Subject: Re: [Qemu-devel] [PATCH 03/13] cuda: port AUTOPOLL 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 --Vhqu5qQ3bjg0ZI9i Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Jan 23, 2016 at 09:40:00PM +0100, Herv=E9 Poussineau wrote: > Signed-off-by: Herv=E9 Poussineau Reviewed-by: David Gibson > --- > hw/misc/macio/cuda.c | 40 +++++++++++++++++++++++++--------------- > 1 file changed, 25 insertions(+), 15 deletions(-) >=20 > diff --git a/hw/misc/macio/cuda.c b/hw/misc/macio/cuda.c > index f27dd19..37406fc 100644 > --- a/hw/misc/macio/cuda.c > +++ b/hw/misc/macio/cuda.c > @@ -543,14 +543,38 @@ typedef struct CudaCommand { > uint8_t *out_args, int *out_len); > } CudaCommand; > =20 > +static bool cuda_cmd_autopoll(CUDAState *s, > + const uint8_t *in_data, int in_len, > + uint8_t *out_data, int *out_len) > +{ > + int autopoll; > + > + if (in_len !=3D 1) { > + return false; > + } > + > + autopoll =3D (in_data[0] !=3D 0); > + if (autopoll !=3D s->autopoll) { > + s->autopoll =3D autopoll; > + if (autopoll) { > + timer_mod(s->adb_poll_timer, > + qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + > + (get_ticks_per_sec() / CUDA_ADB_POLL_FREQ)); > + } else { > + timer_del(s->adb_poll_timer); > + } > + } > + return true; > +} > + > static const CudaCommand handlers[] =3D { > + { CUDA_AUTOPOLL, "AUTOPOLL", cuda_cmd_autopoll }, > }; > =20 > static void cuda_receive_packet(CUDAState *s, > const uint8_t *data, int len) > { > uint8_t obuf[16] =3D { CUDA_PACKET, 0, data[0] }; > - int autopoll; > int i, out_len =3D 0; > uint32_t ti; > =20 > @@ -576,20 +600,6 @@ static void cuda_receive_packet(CUDAState *s, > } > =20 > switch(data[0]) { > - case CUDA_AUTOPOLL: > - autopoll =3D (data[1] !=3D 0); > - if (autopoll !=3D s->autopoll) { > - s->autopoll =3D autopoll; > - if (autopoll) { > - timer_mod(s->adb_poll_timer, > - qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + > - (get_ticks_per_sec() / CUDA_ADB_POLL_FREQ= )); > - } else { > - timer_del(s->adb_poll_timer); > - } > - } > - cuda_send_packet_to_host(s, obuf, 3); > - return; > case CUDA_GET_6805_ADDR: > cuda_send_packet_to_host(s, obuf, 3); > return; --=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 --Vhqu5qQ3bjg0ZI9i Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJWpVqKAAoJEGw4ysog2bOSP8IP/17bQxplH1Vmdp5CtzDNGkXY tGi56EXdV2y606XrK+PYKfdDXMvfFasVuS+8LSEcM55Oj2Zd1qxvex5bUVxjOdV6 Y1Qs0DlPZr4A9ua/m192sSnJf3/S4rrq3H0xscvNPBdsHxW4yZex4EbWiucxMAre PgTc7zlIYF0fXhQjKA5+upQ6043pFpaOOovk8LfoGPiMhSxZQHXBdQLrn5uMOymF altxu8KV2OgrXZ9pO5saWFWYbVSnZ2AtjeyLqjP6JS3upknt+UdsEg3vel3AXg8n 342JDXiB7EX8XimsdWFKZZ/MpUfWY1b1lrs/M3Z/DtC737XvWtLp2vTwdrguYBHH T/cU1oZSFLe1omsA0K5gWkteikRTOoaHsUxm5nxkzVXnZ0NKUdZLEbRUMQm4SULi yIxSi1zo+A1mCeW3kljx9CiaHz/MBnyb3gti8BqKsAxHgaBkPOBnAcSnktGWJibU /GKpCMAIHt+XR4F+cXnWCkD2cvh52QtUgNMTPuf4VlkbCIYOghfY0JPoaCtuYvyv i3+yDaGbWhKT5Cy7pfKZbhQM7EILxlO/Hps9fvfNWYokwCoroc7Pm/md/jxJvexX k3seVPkXVmeFTcpr3Iqspv4XEZGzOJcuOJdg2E1Y3xv/ddAp9/cCbaSaGNkLPeYu 63X7ZO9eI8KM8PgkVAkp =iJ+q -----END PGP SIGNATURE----- --Vhqu5qQ3bjg0ZI9i--