Re: Regression caused by "PCI: Shrink decoding-disabled window while sizing BARs"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 18, 2014 at 1:00 PM, Thomas Petazzoni
<thomas.petazzoni@xxxxxxxxxxxxxxxxxx> wrote:
> Is a u64 cast really the appropriate solution here? Have you seen my
> proposed fix "[PATCH] PCI: fix probe.c warning
> on !CONFIG_ARCH_DMA_ADDR_T_64BIT platforms" ?

Yes, that I saw your patch.

We want to make that to be consistent with __pci_read_bases()
and avoid MACRO.

I think the warning is wrong. aka compile should omit out that branch.
as sizeof(dma_addr_t) on !CONFIG_ARCH_DMA_ADDR_T_64BIT
is 4 and it is smaller than 8. and those are const, so the compiler should
not ...

add the cast just shut off the compiler wrong warning.

code segment:

                        if (sizeof(dma_addr_t) < 8) {
                                if (mem_base_hi || mem_limit_hi) {
                                        dev_err(&dev->dev, "can't
handle 64-bit address space for bridge\n");
                                        return;
                                }
                        } else  {
                                base |= (dma_addr_t)(((u64)mem_base_hi)<<32);
                                limit |= (dma_addr_t)(((u64)mem_limit_hi)<<32);
                        }


Thanks

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux