[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH 03/13] cuda: port AUTOPOLL command to new framewor
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [PATCH 03/13] cuda: port AUTOPOLL command to new framework |
Date: |
Mon, 25 Jan 2016 10:13:14 +1100 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Sat, Jan 23, 2016 at 09:40:00PM +0100, Hervé Poussineau wrote:
> Signed-off-by: Hervé Poussineau <address@hidden>
Reviewed-by: David Gibson <address@hidden>
> ---
> hw/misc/macio/cuda.c | 40 +++++++++++++++++++++++++---------------
> 1 file changed, 25 insertions(+), 15 deletions(-)
>
> 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;
>
> +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 != 1) {
> + return false;
> + }
> +
> + autopoll = (in_data[0] != 0);
> + if (autopoll != s->autopoll) {
> + s->autopoll = 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[] = {
> + { CUDA_AUTOPOLL, "AUTOPOLL", cuda_cmd_autopoll },
> };
>
> static void cuda_receive_packet(CUDAState *s,
> const uint8_t *data, int len)
> {
> uint8_t obuf[16] = { CUDA_PACKET, 0, data[0] };
> - int autopoll;
> int i, out_len = 0;
> uint32_t ti;
>
> @@ -576,20 +600,6 @@ static void cuda_receive_packet(CUDAState *s,
> }
>
> switch(data[0]) {
> - case CUDA_AUTOPOLL:
> - autopoll = (data[1] != 0);
> - if (autopoll != s->autopoll) {
> - s->autopoll = 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;
--
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
signature.asc
Description: PGP signature
- Re: [Qemu-ppc] [PATCH 04/13] cuda: port SET_AUTO_RATE command to new framework, (continued)
- [Qemu-ppc] [PATCH 05/13] cuda: port SET_DEVICE_LIST command to new framework, Hervé Poussineau, 2016/01/23
- [Qemu-ppc] [PATCH 07/13] cuda: port RESET_SYSTEM command to new framework, Hervé Poussineau, 2016/01/23
- [Qemu-ppc] [PATCH 01/13] cuda: add a framework to handle commands, Hervé Poussineau, 2016/01/23
- [Qemu-ppc] [PATCH 02/13] cuda: reject unknown commands, Hervé Poussineau, 2016/01/23
- [Qemu-ppc] [PATCH 03/13] cuda: port AUTOPOLL command to new framework, Hervé Poussineau, 2016/01/23
- Re: [Qemu-ppc] [PATCH 03/13] cuda: port AUTOPOLL command to new framework,
David Gibson <=
- [Qemu-ppc] [PATCH 12/13] cuda: remove GET_6805_ADDR command, Hervé Poussineau, 2016/01/23
- [Qemu-ppc] [PATCH 08/13] cuda: port FILE_SERVER_FLAG command to new framework, Hervé Poussineau, 2016/01/23
- [Qemu-ppc] [PATCH 09/13] cuda: port SET_POWER_MESSAGES command to new framework, Hervé Poussineau, 2016/01/23
- [Qemu-ppc] [PATCH 10/13] cuda: port GET_TIME command to new framework, Hervé Poussineau, 2016/01/23