All of lore.kernel.org
 help / color / mirror / Atom feed
From: okaya@codeaurora.org
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: "open list:EFIFB FRAMEBUFFER DRIVER"
	<linux-fbdev@vger.kernel.org>, Timur Tabi <timur@codeaurora.org>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	linux-arm-msm@vger.kernel.org,
	open list <linux-kernel@vger.kernel.org>,
	"open list:FRAMEBUFFER LAYER" <dri-devel@lists.freedesktop.org>,
	Peter Jones <pjones@redhat.com>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH V2 2/2] efi/fb: Convert PCI bus address to resource if translated by the bridge
Date: Wed, 13 Jun 2018 11:50:19 -0400	[thread overview]
Message-ID: <7481eea5c856bf0a285776e28a2c3ce1@codeaurora.org> (raw)
In-Reply-To: <CAKv+Gu9+M8zOtACPQ4_UMgp-M1LfZnciYe1VTQNqn_zNWJea4g@mail.gmail.com>

On 2018-06-13 11:45, Ard Biesheuvel wrote:
> On 18 May 2018 at 16:17, Sinan Kaya <okaya@codeaurora.org> wrote:
>> A host bridge is allowed to remap BAR addresses using _TRA attribute 
>> in
>> _CRS windows.
>> 
>> pci_bus 0000:00: root bus resource [mem 0x80100100000-0x8011fffffff 
>> window] (bus address [0x00100000-0x1fffffff])
>> pci 0000:02:00.0: reg 0x10: [mem 0x8011e000000-0x8011effffff]
>> 
>> When a VGA device is behind such a host bridge and the resource is
>> translated efifb driver is trying to do ioremap against bus address
>> rather than the resource address and is failing to probe.
>> 
>> efifb: probing for efifb
>> efifb: cannot reserve video memory at 0x1e000000
>> efifb: framebuffer at 0x1e000000, using 1920k, total 1875k
>> efifb: mode is 800x600x32, linelength=3200, pages=1
>> efifb: scrolling: redraw
>> efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
>> 
>> Use the host bridge offset information to convert bus address to
>> resource address in the fixup.
>> 
>> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
> 
> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> 
> Bartlomiej, could you please take these via the fbdev tree for v4.19?
> Peter already gave his ack but Sinan dropped it (presumably because of
> the split in v2)
> 
> Sinan, does this need to go to -stable? I.e., has it ever worked 
> before?
> 

Yes, it needs to go to stable. It never worked before. Issue was found 
during a graphics bring up with AST driver.

It needs a 32 bit graphics card and a 32 bit translating host bridge to 
hit the issue.

> 
> 
>> ---
>>  drivers/video/fbdev/efifb.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>> 
>> diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c
>> index 6daac8d..429cc85 100644
>> --- a/drivers/video/fbdev/efifb.c
>> +++ b/drivers/video/fbdev/efifb.c
>> @@ -431,6 +431,7 @@ static void efifb_fixup_resources(struct pci_dev 
>> *dev)
>>                 .end = screen_info.lfb_base + screen_info.lfb_size - 
>> 1,
>>                 .flags = IORESOURCE_MEM,
>>         };
>> +       struct pci_bus_region region;
>>         int i;
>> 
>>         if (efifb_pci_dev || screen_info.orig_video_isVGA != 
>> VIDEO_TYPE_EFI)
>> @@ -442,6 +443,10 @@ static void efifb_fixup_resources(struct pci_dev 
>> *dev)
>>         if (!screen_res.start)
>>                 return;
>> 
>> +       region.start = screen_res.start;
>> +       region.end = screen_res.end;
>> +       pcibios_bus_to_resource(dev->bus, &screen_res, &region);
>> +
>>         for (i = 0; i <= PCI_STD_RESOURCE_END; i++) {
>>                 struct resource *res = &dev->resource[i];
>> 
>> --
>> 2.7.4
>> 
>> 
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: okaya@codeaurora.org
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: "open list:EFIFB FRAMEBUFFER DRIVER"
	<linux-fbdev@vger.kernel.org>, Timur Tabi <timur@codeaurora.org>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	linux-arm-msm@vger.kernel.org,
	open list <linux-kernel@vger.kernel.org>,
	"open list:FRAMEBUFFER LAYER" <dri-devel@lists.freedesktop.org>,
	Peter Jones <pjones@redhat.com>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH V2 2/2] efi/fb: Convert PCI bus address to resource if translated by the bridge
Date: Wed, 13 Jun 2018 15:50:19 +0000	[thread overview]
Message-ID: <7481eea5c856bf0a285776e28a2c3ce1@codeaurora.org> (raw)
In-Reply-To: <CAKv+Gu9+M8zOtACPQ4_UMgp-M1LfZnciYe1VTQNqn_zNWJea4g@mail.gmail.com>

On 2018-06-13 11:45, Ard Biesheuvel wrote:
> On 18 May 2018 at 16:17, Sinan Kaya <okaya@codeaurora.org> wrote:
>> A host bridge is allowed to remap BAR addresses using _TRA attribute 
>> in
>> _CRS windows.
>> 
>> pci_bus 0000:00: root bus resource [mem 0x80100100000-0x8011fffffff 
>> window] (bus address [0x00100000-0x1fffffff])
>> pci 0000:02:00.0: reg 0x10: [mem 0x8011e000000-0x8011effffff]
>> 
>> When a VGA device is behind such a host bridge and the resource is
>> translated efifb driver is trying to do ioremap against bus address
>> rather than the resource address and is failing to probe.
>> 
>> efifb: probing for efifb
>> efifb: cannot reserve video memory at 0x1e000000
>> efifb: framebuffer at 0x1e000000, using 1920k, total 1875k
>> efifb: mode is 800x600x32, linelength200, pages=1
>> efifb: scrolling: redraw
>> efifb: Truecolor: size=8:8:8:8, shift$:16:8:0
>> 
>> Use the host bridge offset information to convert bus address to
>> resource address in the fixup.
>> 
>> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
> 
> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> 
> Bartlomiej, could you please take these via the fbdev tree for v4.19?
> Peter already gave his ack but Sinan dropped it (presumably because of
> the split in v2)
> 
> Sinan, does this need to go to -stable? I.e., has it ever worked 
> before?
> 

Yes, it needs to go to stable. It never worked before. Issue was found 
during a graphics bring up with AST driver.

It needs a 32 bit graphics card and a 32 bit translating host bridge to 
hit the issue.

> 
> 
>> ---
>>  drivers/video/fbdev/efifb.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>> 
>> diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c
>> index 6daac8d..429cc85 100644
>> --- a/drivers/video/fbdev/efifb.c
>> +++ b/drivers/video/fbdev/efifb.c
>> @@ -431,6 +431,7 @@ static void efifb_fixup_resources(struct pci_dev 
>> *dev)
>>                 .end = screen_info.lfb_base + screen_info.lfb_size - 
>> 1,
>>                 .flags = IORESOURCE_MEM,
>>         };
>> +       struct pci_bus_region region;
>>         int i;
>> 
>>         if (efifb_pci_dev || screen_info.orig_video_isVGA != 
>> VIDEO_TYPE_EFI)
>> @@ -442,6 +443,10 @@ static void efifb_fixup_resources(struct pci_dev 
>> *dev)
>>         if (!screen_res.start)
>>                 return;
>> 
>> +       region.start = screen_res.start;
>> +       region.end = screen_res.end;
>> +       pcibios_bus_to_resource(dev->bus, &screen_res, &region);
>> +
>>         for (i = 0; i <= PCI_STD_RESOURCE_END; i++) {
>>                 struct resource *res = &dev->resource[i];
>> 
>> --
>> 2.7.4
>> 
>> 
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: okaya@codeaurora.org (okaya at codeaurora.org)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V2 2/2] efi/fb: Convert PCI bus address to resource if translated by the bridge
Date: Wed, 13 Jun 2018 11:50:19 -0400	[thread overview]
Message-ID: <7481eea5c856bf0a285776e28a2c3ce1@codeaurora.org> (raw)
In-Reply-To: <CAKv+Gu9+M8zOtACPQ4_UMgp-M1LfZnciYe1VTQNqn_zNWJea4g@mail.gmail.com>

On 2018-06-13 11:45, Ard Biesheuvel wrote:
> On 18 May 2018 at 16:17, Sinan Kaya <okaya@codeaurora.org> wrote:
>> A host bridge is allowed to remap BAR addresses using _TRA attribute 
>> in
>> _CRS windows.
>> 
>> pci_bus 0000:00: root bus resource [mem 0x80100100000-0x8011fffffff 
>> window] (bus address [0x00100000-0x1fffffff])
>> pci 0000:02:00.0: reg 0x10: [mem 0x8011e000000-0x8011effffff]
>> 
>> When a VGA device is behind such a host bridge and the resource is
>> translated efifb driver is trying to do ioremap against bus address
>> rather than the resource address and is failing to probe.
>> 
>> efifb: probing for efifb
>> efifb: cannot reserve video memory at 0x1e000000
>> efifb: framebuffer at 0x1e000000, using 1920k, total 1875k
>> efifb: mode is 800x600x32, linelength=3200, pages=1
>> efifb: scrolling: redraw
>> efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
>> 
>> Use the host bridge offset information to convert bus address to
>> resource address in the fixup.
>> 
>> Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
> 
> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> 
> Bartlomiej, could you please take these via the fbdev tree for v4.19?
> Peter already gave his ack but Sinan dropped it (presumably because of
> the split in v2)
> 
> Sinan, does this need to go to -stable? I.e., has it ever worked 
> before?
> 

Yes, it needs to go to stable. It never worked before. Issue was found 
during a graphics bring up with AST driver.

It needs a 32 bit graphics card and a 32 bit translating host bridge to 
hit the issue.

> 
> 
>> ---
>>  drivers/video/fbdev/efifb.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>> 
>> diff --git a/drivers/video/fbdev/efifb.c b/drivers/video/fbdev/efifb.c
>> index 6daac8d..429cc85 100644
>> --- a/drivers/video/fbdev/efifb.c
>> +++ b/drivers/video/fbdev/efifb.c
>> @@ -431,6 +431,7 @@ static void efifb_fixup_resources(struct pci_dev 
>> *dev)
>>                 .end = screen_info.lfb_base + screen_info.lfb_size - 
>> 1,
>>                 .flags = IORESOURCE_MEM,
>>         };
>> +       struct pci_bus_region region;
>>         int i;
>> 
>>         if (efifb_pci_dev || screen_info.orig_video_isVGA != 
>> VIDEO_TYPE_EFI)
>> @@ -442,6 +443,10 @@ static void efifb_fixup_resources(struct pci_dev 
>> *dev)
>>         if (!screen_res.start)
>>                 return;
>> 
>> +       region.start = screen_res.start;
>> +       region.end = screen_res.end;
>> +       pcibios_bus_to_resource(dev->bus, &screen_res, &region);
>> +
>>         for (i = 0; i <= PCI_STD_RESOURCE_END; i++) {
>>                 struct resource *res = &dev->resource[i];
>> 
>> --
>> 2.7.4
>> 
>> 
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2018-06-13 15:50 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-18 14:17 [PATCH V2 1/2] efi/fb: Simplify fixup code to prefer struct resource Sinan Kaya
2018-05-18 14:17 ` Sinan Kaya
2018-05-18 14:17 ` Sinan Kaya
2018-05-18 14:17 ` Sinan Kaya
2018-05-18 14:17 ` [PATCH V2 2/2] efi/fb: Convert PCI bus address to resource if translated by the bridge Sinan Kaya
2018-05-18 14:17   ` Sinan Kaya
2018-05-18 14:17   ` Sinan Kaya
2018-05-18 14:17   ` Sinan Kaya
2018-06-13 14:22   ` Sinan Kaya
2018-06-13 14:22     ` Sinan Kaya
2018-06-13 14:22     ` Sinan Kaya
2018-06-13 15:06     ` Ard Biesheuvel
2018-06-13 15:06       ` Ard Biesheuvel
2018-06-13 15:06       ` Ard Biesheuvel
2018-06-13 15:17       ` okaya
2018-06-13 15:17         ` okaya at codeaurora.org
2018-06-13 15:17         ` okaya
2018-06-13 15:22         ` Ard Biesheuvel
2018-06-13 15:22           ` Ard Biesheuvel
2018-06-13 15:22           ` Ard Biesheuvel
2018-06-13 15:29           ` okaya
2018-06-13 15:29             ` okaya at codeaurora.org
2018-06-13 15:29             ` okaya
2018-06-13 15:45   ` Ard Biesheuvel
2018-06-13 15:45     ` Ard Biesheuvel
2018-06-13 15:45     ` Ard Biesheuvel
2018-06-13 15:50     ` okaya [this message]
2018-06-13 15:50       ` okaya at codeaurora.org
2018-06-13 15:50       ` okaya
2018-06-13 16:08     ` Bartlomiej Zolnierkiewicz
2018-06-13 16:08       ` Bartlomiej Zolnierkiewicz
2018-06-13 16:08       ` Bartlomiej Zolnierkiewicz
2018-06-13 16:08       ` Bartlomiej Zolnierkiewicz
2018-06-22  7:54       ` Ard Biesheuvel
2018-06-22  7:54         ` Ard Biesheuvel
2018-06-22  7:54         ` Ard Biesheuvel
2018-06-22 10:07         ` Bartlomiej Zolnierkiewicz
2018-06-22 10:07           ` Bartlomiej Zolnierkiewicz
2018-06-22 10:07           ` Bartlomiej Zolnierkiewicz
2018-06-22 10:07           ` Bartlomiej Zolnierkiewicz
2018-06-22 10:11           ` Bartlomiej Zolnierkiewicz
2018-06-22 10:11             ` Bartlomiej Zolnierkiewicz
2018-06-22 10:11             ` Bartlomiej Zolnierkiewicz
2018-06-22 10:11             ` Bartlomiej Zolnierkiewicz
2018-06-19 22:29   ` Bjorn Helgaas
2018-06-19 22:29     ` Bjorn Helgaas
2018-06-19 22:29     ` Bjorn Helgaas
2018-06-22 11:21     ` Ard Biesheuvel
2018-06-22 11:21       ` Ard Biesheuvel
2018-06-22 11:21       ` Ard Biesheuvel
2018-06-22 13:52       ` Sinan Kaya
2018-06-22 13:52         ` Sinan Kaya
2018-06-22 13:52         ` Sinan Kaya
2018-06-22 13:55         ` Ard Biesheuvel
2018-06-22 13:55           ` Ard Biesheuvel
2018-06-22 13:55           ` Ard Biesheuvel
2018-06-22 18:01           ` Ard Biesheuvel
2018-06-22 18:01             ` Ard Biesheuvel
2018-06-22 18:01             ` Ard Biesheuvel
2018-06-22 18:30             ` Sinan Kaya
2018-06-22 18:30               ` Sinan Kaya
2018-06-22 18:30               ` Sinan Kaya
2018-06-22 19:29               ` Ard Biesheuvel
2018-06-22 19:29                 ` Ard Biesheuvel
2018-06-22 19:29                 ` Ard Biesheuvel
2018-06-25  8:20                 ` Ard Biesheuvel
2018-06-25  8:20                   ` Ard Biesheuvel
2018-06-25  8:20                   ` Ard Biesheuvel
2018-06-25 15:52                   ` okaya
2018-06-25 15:52                     ` okaya at codeaurora.org
2018-06-25 15:52                     ` okaya
2018-06-25 17:28                     ` Sinan Kaya
2018-06-25 17:28                       ` Sinan Kaya
2018-06-25 17:28                       ` Sinan Kaya
2018-06-25 17:29                       ` Ard Biesheuvel
2018-06-25 17:29                         ` Ard Biesheuvel
2018-06-25 17:29                         ` Ard Biesheuvel
2018-06-25 17:31                         ` Sinan Kaya
2018-06-25 17:31                           ` Sinan Kaya
2018-06-25 17:31                           ` Sinan Kaya
2018-06-13 15:42 ` [PATCH V2 1/2] efi/fb: Simplify fixup code to prefer struct resource Ard Biesheuvel
2018-06-13 15:42   ` Ard Biesheuvel
2018-06-13 15:42   ` Ard Biesheuvel
2018-06-22 10:11   ` Bartlomiej Zolnierkiewicz
2018-06-22 10:11     ` Bartlomiej Zolnierkiewicz
2018-06-22 10:11     ` Bartlomiej Zolnierkiewicz
2018-06-22 10:11     ` Bartlomiej Zolnierkiewicz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7481eea5c856bf0a285776e28a2c3ce1@codeaurora.org \
    --to=okaya@codeaurora.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=b.zolnierkie@samsung.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pjones@redhat.com \
    --cc=timur@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.