All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Chiang <achiang@hp.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>,
	Ingo Molnar <mingo@elte.hu>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>,
	Bjorn Helgaas <bjorn.helgaas@hp.com>,
	linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH 8/9] pci: pciehp second try to get big range for pcie devices
Date: Thu, 21 Jan 2010 14:22:47 -0700	[thread overview]
Message-ID: <20100121212247.GH17684@ldl.fc.hp.com> (raw)
In-Reply-To: <1264054456-12694-9-git-send-email-yinghai@kernel.org>

>  void pci_assign_unassigned_bridge_resources(struct pci_dev *bridge)
>  {
>  	struct pci_bus *parent = bridge->subordinate;
> +	int tried_times = 0;
> +	struct resource_list_x head, *list;
>  	int retval;
> +	unsigned long type_mask = IORESOURCE_IO | IORESOURCE_MEM |
> +				  IORESOURCE_PREFETCH;
> +
> +	head.next = NULL;
>  
> +again:
>  	pci_bus_size_bridges(parent);
> -	__pci_bridge_assign_resources(bridge, NULL);
> +	__pci_bridge_assign_resources(bridge, &head);
>  	retval = pci_reenable_device(bridge);
>  	pci_set_master(bridge);
>  	pci_enable_bridges(parent);
> +
> +	tried_times++;
> +
> +	/* any device complain? */

useless comment.

> +	if (!head.next)
> +		return;
> +
> +	if (tried_times  >= 2) {

stray space

> +		/* still fail, don't need to try more */

useless comment

> +		free_failed_list(&head);
> +		return;
> +	}
> +
> +	printk(KERN_DEBUG "PCI: No. %d try to assign unassigned res\n",
> +			 tried_times + 1);
> +
> +	/*
> +	 * Try to release leaf bridge's resources that doesn't fit resource of
> +	 * child device under that bridge
> +	 */
> +	for (list = head.next; list;) {
> +		struct pci_bus *bus = list->dev->bus;
> +		unsigned long flags = list->flags;
> +
> +		pci_bus_release_bridge_resources(bus, flags & type_mask,
> +						 whole_subtree);
> +		list = list->next;
> +	}
> +	/* retore size and flags */

"restore"

/ac


  reply	other threads:[~2010-01-21 21:22 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-21  6:14 [PATCH 0/9] pci: update pci bridge resources Yinghai Lu
2010-01-21  6:14 ` [PATCH 1/9] pci: add pci_bridge_release_unused_res and pci_bus_release_unused_bridge_res Yinghai Lu
2010-01-21 18:18   ` Alex Chiang
2010-01-21 19:47     ` Yinghai Lu
2010-01-21  6:14 ` [PATCH 2/9] pci: add failed_list to record failed one for pci_bus_assign_resources Yinghai Lu
2010-01-21 20:41   ` Alex Chiang
2010-01-21  6:14 ` [PATCH 3/9] pci: reject mmio range start from 0 on pci_bridge read Yinghai Lu
2010-01-21  6:14 ` [PATCH 4/9] pci: don't shrink bridge resources Yinghai Lu
2010-01-21  6:14 ` [PATCH 5/9] pci: update bridge res to get more big range in pci assign unssign Yinghai Lu
2010-01-21  6:14 ` [PATCH 6/9] pci: introduce pci_assign_unassigned_bridge_resources Yinghai Lu
2010-01-21 21:02   ` Alex Chiang
2010-01-21  6:14 ` [PATCH 7/9] pci: pciehp clean flow in pciehp_configure_device Yinghai Lu
2010-01-21 21:15   ` Alex Chiang
2010-01-21  6:14 ` [PATCH 8/9] pci: pciehp second try to get big range for pcie devices Yinghai Lu
2010-01-21 21:22   ` Alex Chiang [this message]
2010-01-21  6:14 ` [PATCH 9/9] pci: set PCI_PREF_RANGE_TYPE_64 in pci_bridge_check_ranges Yinghai Lu
2010-01-21 21:32   ` Alex Chiang
2010-01-21 21:53     ` Yinghai Lu
2010-01-21 22:09       ` Alex Chiang
  -- strict thread matches above, loose matches on Subject: below --
2010-01-22  9:02 [PATCH -v19 0/9] pci: update pci bridge resources Yinghai Lu
2010-01-22  9:02 ` [PATCH 8/9] pci: pciehp second try to get big range for pcie devices Yinghai Lu

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=20100121212247.GH17684@ldl.fc.hp.com \
    --to=achiang@hp.com \
    --cc=bjorn.helgaas@hp.com \
    --cc=ink@jurassic.park.msu.ru \
    --cc=jbarnes@virtuousgeek.org \
    --cc=kaneshige.kenji@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=torvalds@linux-foundation.org \
    --cc=yinghai@kernel.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.