Subject: Re: linux-next: manual merge of the uuid tree with the arm64 tree

From: Will Deacon <[email-masked]>
Date: Wed, 21 Jun 2017 10:21:59 +0100

Hi Tyler,

On Tue, Jun 20, 2017 at 12:26:01PM -0600, Baicar, Tyler wrote:
> On 6/20/2017 12:20 PM, Will Deacon wrote:
> >On Tue, Jun 20, 2017 at 12:13:13PM -0600, Baicar, Tyler wrote:
> >>I have sent you the rebased patches. I took Christoph's uuid-types tree and
> >>added this patch onto it:
> >>
> >>7bf130e4a065 ("ACPI/APEI: Handle GSIV and GPIO notification types")
> >>
> >>And then added my patches onto that. This will hopefully now avoid conflicts
> >>with any other patch.
> >No, patch 6 fails to apply:
> >
> >On Tue, Jun 20, 2017 at 12:07:27PM -0600, Tyler Baicar wrote:
> >>diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> >>index 7e3ddbe..81ebb9b 100644
> >>--- a/drivers/acpi/apei/ghes.c
> >>+++ b/drivers/acpi/apei/ghes.c
> >>@@ -116,11 +116,7 @@ static inline bool is_hest_type_generic_v2(struct ghes *ghes)
> >>   * Two virtual pages are used, one for IRQ/PROCESS context, the other for
> >>   * NMI context (optionally).
> >>   */
> >>-#ifdef CONFIG_HAVE_ACPI_APEI_NMI
> >>  #define GHES_IOREMAP_PAGES           2
> >>-#else
> >>-#define GHES_IOREMAP_PAGES           1
> >>-#endif
> >>  #define GHES_IOREMAP_IRQ_PAGE(base)	(base)
> >>  #define GHES_IOREMAP_NMI_PAGE(base)	((base) + PAGE_SIZE)
> >>@@ -159,10 +155,14 @@ static void ghes_ioremap_exit(void)
> >>  static void __iomem *ghes_ioremap_pfn_nmi(u64 pfn)
> >>  {
> >>  	unsigned long vaddr;
> >>+	phys_addr_t paddr;
> >>+	pgprot_t prot;
> >>  	vaddr = (unsigned long)GHES_IOREMAP_NMI_PAGE(ghes_ioremap_area->addr);
> >>-	ioremap_page_range(vaddr, vaddr + PAGE_SIZE,
> >>-			   pfn << PAGE_SHIFT, PAGE_KERNEL);
> >>+
> >>+	paddr = pfn << PAGE_SHIFT;
> >>+	prot = arch_apei_get_mem_attribute(paddr);
> >>+	ioremap_page_range(vaddr, vaddr + PAGE_SIZE, paddr, prot);
> >>  	return (void __iomem *)vaddr;
> >>  }
> >>@@ -774,6 +774,50 @@ static int ghes_notify_hed(struct notifier_block *this, unsigned long event,
> >>  	.notifier_call = ghes_notify_hed,
> >In Christoph's tree, this line is:
> >
> >	.notifier_call = ghes_notify_sci,
> >
> >http://git.infradead.org/users/hch/uuid.git/blob/refs/heads/uuid-types:/drivers/acpi/apei/ghes.c#l720
> >
> >so something still isn't right. What did you actually base your patches
> >on?
> Yes, that line is changed in this patch 7bf130e4a065 ("ACPI/APEI: Handle
> GSIV and GPIO notification types")

Ok, but that's not in mainline, not in the arm64 tree and not in Christoph's
branch. I don't want to pull in random cherry-picks that are already in
-next via some other means (looks like this is via -tip?).

> It is the other patch that was conflicting with this patch series when we
> tried to marge although it was a trivial conflict. I applied this patch to
> Christoph's tree and then put my patches on top of that.

If the conflicts are trivial, just base on uuid-types (which I've merged
into the arm64 for-next/ras-apei branch). If they're not trivial, then you
need to co-ordinate better with other developers and I think this will have
to wait another release.

Will