qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V3 6/8] Introduce xilinx dpdma.


From: Hyun Kwon
Subject: Re: [Qemu-devel] [PATCH V3 6/8] Introduce xilinx dpdma.
Date: Sat, 11 Jul 2015 00:29:15 +0000

Hi Fred,

Thanks for the patch.

> -----Original Message-----
> From: address@hidden [mailto:address@hidden
> Sent: Monday, July 06, 2015 9:22 AM
> To: address@hidden
> Cc: address@hidden; Peter Crosthwaite; Hyun Kwon;
> address@hidden; address@hidden;
> address@hidden
> Subject: [PATCH V3 6/8] Introduce xilinx dpdma.
>
> From: KONRAD Frederic <address@hidden>
>
> This is the implementation of the DPDMA.
>
> Signed-off-by: KONRAD Frederic <address@hidden>
> ---
>  hw/dma/Makefile.objs |   1 +
>  hw/dma/xlnx_dpdma.c  | 789
> +++++++++++++++++++++++++++++++++++++++++++++++++++
>  hw/dma/xlnx_dpdma.h  |  77 +++++
>  3 files changed, 867 insertions(+)
>  create mode 100644 hw/dma/xlnx_dpdma.c
>  create mode 100644 hw/dma/xlnx_dpdma.h
>
> diff --git a/hw/dma/Makefile.objs b/hw/dma/Makefile.objs
> index 0e65ed0..5451836 100644
> --- a/hw/dma/Makefile.objs
> +++ b/hw/dma/Makefile.objs
> @@ -8,6 +8,7 @@ common-obj-$(CONFIG_XILINX_AXI) += xilinx_axidma.o
>  common-obj-$(CONFIG_ETRAXFS) += etraxfs_dma.o
>  common-obj-$(CONFIG_STP2000) += sparc32_dma.o
>  common-obj-$(CONFIG_SUN4M) += sun4m_iommu.o
> +obj-$(CONFIG_XLNX_ZYNQMP) += xlnx_dpdma.o
>
>  obj-$(CONFIG_OMAP) += omap_dma.o soc_dma.o
>  obj-$(CONFIG_PXA2XX) += pxa2xx_dma.o
> diff --git a/hw/dma/xlnx_dpdma.c b/hw/dma/xlnx_dpdma.c
> new file mode 100644
> index 0000000..a327085
> --- /dev/null
> +++ b/hw/dma/xlnx_dpdma.c
> @@ -0,0 +1,789 @@
> +/*
> + * xlnx_dpdma.c

[snip]

> +
> +size_t xlnx_dpdma_start_operation(XlnxDPDMAState *s, uint8_t channel,
> +                                    bool one_desc)
> +{
> +    uint64_t desc_addr;
> +    uint64_t source_addr[6];
> +    DPDMADescriptor desc;
> +    bool done = false;
> +    size_t ptr = 0;
> +
> +    assert(channel <= 5);
> +
> +    /* Trigger a VSYNC IRQ when the graphic callback asks for data. */
> +    if (channel == 3) {
> +        s->registers[DPDMA_ISR] |= (1 << 27);
> +        xlnx_dpdma_update_irq(s);
> +    }

I'd rather make this VSYNC interrupt generation as a separate function, and 
have it called by whenever xlnx_dp_update_display() is called. Please see my 
comment in patch 7/8 as well.

Thanks,
-hyun


This email and any attachments are intended for the sole use of the named 
recipient(s) and contain(s) confidential information that may be proprietary, 
privileged or copyrighted under applicable law. If you are not the intended 
recipient, do not read, copy, or forward this email message or any attachments. 
Delete this email message and any attachments immediately.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]