Re: [PATCH v2 2/4] PCI: plda: Get common codes from Microchip PolarFire host

From: Minda Chen
Date: Fri Jul 28 2023 - 04:47:19 EST




On 2023/7/27 20:02, Bjorn Helgaas wrote:
> On Thu, Jul 27, 2023 at 06:39:47PM +0800, Minda Chen wrote:
>> Add PLDA PCIe controller driver codes, Move them from Microchip
>> PolarFire PCIe host driver codes. And move pcie-microchip-host.c
>> to plda directory.
>>
>> The change includes:
>> - copy the IP register marcos.
>> - Add related data structures of PCIe host instance.
>> mc_pcie --> plda_pcie (Get most of data members)
>> mc_msi --> plda_msi
>> add plda_pcie_ops and plda_evt data structures.
>> - function rename list:
>> mc_pcie_enable_msi --> plda_pcie_enable_msi
>> mc_pcie_setup_window --> plda_pcie_setup_window
>> mc_pcie_setup_windows --> plda_pcie_setup_iomems
>> mc_pcie_init_irq_domains --> plda_pcie_init_irq_domains
>> mc_allocate_msi_domains --> plda_allocate_msi_domains
>> mc_init_interrupts --> plda_pcie_init_irq
>> msi interrupts related functions and irq domain
>> (primary function is mc_handle_msi):
>> mc_handle_msi --> plda_handle_msi
>> intx interrupts related functions and irq domain
>> (primary function is mc_handle_intx):
>> mc_handle_intx --> plda_handle_intx
>> event interrupts:
>> mc_handle_event --> plda_handle_event
>> - For PolarFire implements non-plda local interrupt events, most of
>> event interrupt process codes can not be re-used. PLDA implements
>> new codes and irq domain ops like PolarFire.
>> New event functions:
>> plda_event_handler
>> plda_pcie_event_map
>> plda_ack_event_irq
>> plda_mask_event_irq
>> plda_unmask_event_irq
>> plda_hwirq_to_mask
>> - plda_handle_event adds a new irqnum to event num mapping codes for
>> PLDA local event except DMA engine interrupt events. The DMA engine
>> interrupt events are implemented by vendors. So do not add these
>> events. PolarFire PCIe uses get_events function pointer to get
>> their events num.
>
> There's a lot going on here, which makes this hard to review. If
> possible, I suggest splitting this into multiple patches:
>
> - Move code to plda/ directory with no other changes
> - Rename structs/functions from mc_* to plda_* with no other changes
> - Add PolarFire-specific code
>
Yeah, This is a lot modification. I will try to split more patches to get it easier
to review. maybe split IP register macros first, second rename structs/function only.
third add the new event mapping codes, at last add PolarFire-specific codes.
> Other general things:
>
> - Capitalize PLDA, IRQ, INTx, MSI, PCIe in commit logs, comments,
> dmesg text
> - Sort MAINTAINERS entries alphabetically; see
> https://git.kernel.org/linus/c192ac735768
>
ok
> Bjorn