RE: [PATCH V5 3/3] ARM64 LPC: LPC driver implementation on Hip06

From: Gabriele Paoloni
Date: Wed Nov 09 2016 - 07:11:55 EST


Hi Arnd

> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@xxxxxxxx]
> Sent: 08 November 2016 16:25
> To: Yuanzhichang
> Cc: catalin.marinas@xxxxxxx; will.deacon@xxxxxxx; robh+dt@xxxxxxxxxx;
> bhelgaas@xxxxxxxxxx; mark.rutland@xxxxxxx; olof@xxxxxxxxx; linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx; lorenzo.pieralisi@xxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Linuxarm; devicetree@xxxxxxxxxxxxxxx; linux-
> pci@xxxxxxxxxxxxxxx; linux-serial@xxxxxxxxxxxxxxx; minyard@xxxxxxx;
> benh@xxxxxxxxxxxxxxxxxxx; liviu.dudau@xxxxxxx; zourongrong@xxxxxxxxx;
> John Garry; Gabriele Paoloni; zhichang.yuan02@xxxxxxxxx;
> kantyzc@xxxxxxx; xuwei (O)
> Subject: Re: [PATCH V5 3/3] ARM64 LPC: LPC driver implementation on
> Hip06
>
> On Tuesday, November 8, 2016 11:47:09 AM CET zhichang.yuan wrote:
> > + /*
> > + * The first PCIBIOS_MIN_IO is reserved specifically for
> indirectIO.
> > + * It will separate indirectIO range from pci host bridge to
> > + * avoid the possible PIO conflict.
> > + * Set the indirectIO range directly here.
> > + */
> > + lpcdev->io_ops.start = 0;
> > + lpcdev->io_ops.end = PCIBIOS_MIN_IO - 1;
> > + lpcdev->io_ops.devpara = lpcdev;
> > + lpcdev->io_ops.pfin = hisilpc_comm_in;
> > + lpcdev->io_ops.pfout = hisilpc_comm_out;
> > + lpcdev->io_ops.pfins = hisilpc_comm_ins;
> > + lpcdev->io_ops.pfouts = hisilpc_comm_outs;
>
> I have to look at patch 2 in more detail again, after missing a few
> review
> rounds. I'm still a bit skeptical about hardcoding a logical I/O port
> range here, and would hope that we can just go through the same
> assignment of logical port ranges that we have for PCI buses,
> decoupling
> the bus addresses from the linux-internal ones.

The point here is that we want to avoid any conflict/overlap between
the LPC I/O space and the PCI I/O space. With the assignment above
we make sure that LPC never interfere with PCI I/O space.

Thanks

Gab

>
> Arnd