Hello,

Joan Lledó, le ven. 07 janv. 2022 12:09:56 +0100, a ecrit:
> -      err = pci_device_map_range (device, region->base_addr, region->size,
> -                               PCI_DEV_MAP_FLAG_WRITABLE, &region->memory);
> +      /* Use the legacy call for regions under 1MB */
> +      if (region->base_addr > 0x100000
> +       || region->base_addr + region->size > 0x100000)
> +        err = pci_device_map_range (device, region->base_addr, region->size,
> +                                 PCI_DEV_MAP_FLAG_WRITABLE, addr);
> +      else
> +        err = pci_device_map_legacy (device, region->base_addr, region->size,
> +                                 PCI_DEV_MAP_FLAG_WRITABLE, addr);

Comments are not meant to document the "what" (1MB is already written
in the code), but the "why": why is it that we can't just call
pci_device_map_range for all ranges, whatever the address?

Samuel

Reply via email to