>> OK. Sorry, I have one last question, because domain will be used to calculate the address used to >> access PCI hardware config registers. So if DTS file doesn't report the domain, how do we know >> we would access the right registers when we use the auto increment domain vaule ? > > That's a good question and sides with Arnd's suggestion to try to mandate the presence of the PCI > domain in the DTS. However, by grepping through the source code, it looks like the architectures > that use the domain number for reading config registers (x86-based) are non-DT architectures, > while DT-aware arches seem to ignore the domain number except when printing out messages. Is that > another confirmation that most DT-aware architectures have only run with domain_nr = 0? > Arnd's suggestion is make sense to me, thanks for Bjorn's detailed explanation, now I know domain_nr is purely internal to kernel in DT-aware platform, it's not needed when access PCI config space. Thanks! Yijing. > >> Has there a mechanism to make sure system can access the correct registers by the domain ? > > Not as such if you look with x86 glasses. With the exception of powerpc all other architecures > seem to happily assume domain_nr = 0 and ignore it in the computation of configuration registers > offsets. > > Best regards, > Liviu > >> >> Thanks! >> Yijing. >> >>> >>> Best regards, >>> Liviu >>> >>>> >>>> PCI get domain by ACPI "_SEG" in IA64(drivers/acpi/pci_root.c) >>>> ...... >>>> status = acpi_evaluate_integer(handle, METHOD_NAME__SEG, NULL, >>>> &segment); >>>> if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) { >>>> dev_err(&device->dev, "can't evaluate _SEG\n"); >>>> result = -ENODEV; >>>> goto end; >>>> } >>>> ....... >>>> >>>> Thanks! >>>> Yijing. >>>> >>>>> >>>>>> This function >>>>>> is just a weird mixture of data retrieval and allocation. I think you >>>>>> need to separate it into 2 functions. >>>>> >>>>> It is meant to do allocation with the retrieval being a short-cut (or fine >>>>> control if you want). >>>>> >>>>> I need to think a bit more for a better solution. >>>>> >>>>> Best regards, >>>>> Liviu >>>>> >>>>>> >>>>>> Rob >>>>>> >>>>> >>>> >>>> >>>> -- >>>> Thanks! >>>> Yijing >>>> >>>> >>> >> >> >> -- >> Thanks! >> Yijing >> >> -- >> 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 >> > -- Thanks! Yijing -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html