View | Details | Raw Unified | Return to bug 235876
Collapse All | Expand All

(-)acpi_resource.c (-1 / +8 lines)
Lines 202-207 struct acpi_resource_context { Link Here
202
    struct acpi_parse_resource_set *set;
202
    struct acpi_parse_resource_set *set;
203
    device_t	dev;
203
    device_t	dev;
204
    void	*context;
204
    void	*context;
205
    bool	ignore_producer_flag;
205
};
206
};
206
207
207
#ifdef ACPI_DEBUG_OUTPUT
208
#ifdef ACPI_DEBUG_OUTPUT
Lines 385-391 acpi_parse_resource(ACPI_RESOURCE *res, void *cont Link Here
385
	}
386
	}
386
	if (length <= 0)
387
	if (length <= 0)
387
	    break;
388
	    break;
388
	if (res->Type == ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 &&
389
	if (!arc->ignore_producer_flag &&
389
	    res->Data.Address.ProducerConsumer != ACPI_CONSUMER) {
390
	    res->Data.Address.ProducerConsumer != ACPI_CONSUMER) {
390
	    ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
391
	    ACPI_DEBUG_PRINT((ACPI_DB_RESOURCES,
391
		"ignored %s %s producer\n", name,
392
		"ignored %s %s producer\n", name,
Lines 474-479 acpi_parse_resources(device_t dev, ACPI_HANDLE han Link Here
474
    set->set_init(dev, arg, &arc.context);
475
    set->set_init(dev, arg, &arc.context);
475
    arc.set = set;
476
    arc.set = set;
476
    arc.dev = dev;
477
    arc.dev = dev;
478
    arc.ignore_producer_flag = false;
479
480
    /* UARTs on ThunderX2 set ResourceProducer on memory resources. */
481
    if (acpi_MatchHid(handle, "ARMH0011") != ACPI_MATCHHID_NOMATCH)
482
	    arc.ignore_producer_flag = true;
483
477
    status = AcpiWalkResources(handle, "_CRS", acpi_parse_resource, &arc);
484
    status = AcpiWalkResources(handle, "_CRS", acpi_parse_resource, &arc);
478
    if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
485
    if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) {
479
	printf("can't fetch resources for %s - %s\n",
486
	printf("can't fetch resources for %s - %s\n",

Return to bug 235876