From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3BCA43D1CD5 for ; Tue, 12 May 2026 05:39:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778564373; cv=none; b=dr6lj7KqiVrfLRP+URq8c0tGdPbrv31XANT0hgRaL7ndwo2/mvluYPUaCqFyDcJ4id20eNGKc1fFPOKg6U/DOfE5ewSaqkfgeXRTwtnId/7HeJEh5DH+c0tgDjxq5sGXDqLzECaDhFGCCFsZxA4EeByXd0xb+VLxcnUkXtkD+2g= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778564373; c=relaxed/simple; bh=0qmNZ8+q3BJWMc2ioSyoBvo1zE0dng861aBkK2fa4xI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=ZTW6bTVQ6vyg8GJ7KB4f33jjgGc0+9PVsggPs8A9VfCnkZEbIhfAqdVZTcy4In27GBxcsSWnrrg7rnoh6coqCsiyZe0A66n2ieicCSdHK7Mj+BHoNmLzWkr6MdRsw3remVBwcUzo3Iqmu0DjzdBFEggwEcvwhw70o94BEErUYOU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=fN2kZVE8; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=dSPZ1tnu; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="fN2kZVE8"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="dSPZ1tnu" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64C57lgt2519203 for ; Tue, 12 May 2026 05:39:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 2R3YimF/KydOq9roznHyrcrTN3jOxsCUbDTEFZaIuqY=; b=fN2kZVE8r2c00G/+ sCe8xvNMkULQrJW2iuXQ+nmLP4PtP+AW7rPjv3LLyuVlt55jRwHWa7M+Vs9tIafl vfYqzx53oZx7vRFkZ4nPAZT9Ju/99xi1JAtpoKzS7ULbdl0qzIEjn5eutbGuKPZV 3KLvPflONDbQdkPRWGacl/o4Wl3h/bF3INoDMbPuVF+7E1NNLD4BAiCWF6Xf/3k0 5pjCkMS60Ds87LApQGKkbdeTh8+fRkZZwIDdqXBYATA+NwIf2/hNdmBpOW8sgHzF PNrZB5nEQMvzmU0lGZDowCnZZkn3Qq8KQssyTPfXAYgPg1S/zh/llIfoaw/JLDVz LG69cg== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e3nv1hp1f-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 12 May 2026 05:39:28 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-365bba50e82so4950647a91.0 for ; Mon, 11 May 2026 22:39:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1778564367; x=1779169167; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=2R3YimF/KydOq9roznHyrcrTN3jOxsCUbDTEFZaIuqY=; b=dSPZ1tnu0EqKBK1YZbXSx/p5f3oaq56zKNYWMrXgWkj4FLP8ApqmsIWjeHVXi4TXLA syrXQp1J0NG4OOxeA94d5jWVlzmNUmvpJ5V9Ss+Sx4bRvYvXoRwyl3xLwt8CN3blKshc G/wzotLzKoVB7RAtIPG2PRcuCx8DiJRqZO4VL83uG9QAhE6FWCxpQEzP2jTTyPSXeTuh pOzcUfMOJSBM+icDeOJVPdye4kaJ1GztqxSWHiXnRWXpJ2Du7wotPBNXPFxqXIW9jvTB q8V3NufhdHg7670kuaVPc9ieIp+rFSRh/3HIRFhrDtTWqtDcza17cCY+w/e2mgAFay/n hxxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778564367; x=1779169167; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=2R3YimF/KydOq9roznHyrcrTN3jOxsCUbDTEFZaIuqY=; b=O/b47qgZSitNePfofmAqhvGRZxCv+AnCdDHU/wXpHe4fP0sbjNZLJ6DbhxBNtfVPca DMpLUeLZzRmT/kF7lQpgiGPMG12TybYbAFig+CJKq/IZWjqZ4z9v1n7uIJGJoBgmliF7 2+Gdjw88XsoBR6piuC5oyWx4/x1GQIs37qjhh1JRTYzUtkeFtHNAkxNzJfFcPbyS+UfQ F4absGJXkfa8jQWK8+hOJo1MgVie29U0PvjjK73WwWD5qneEg2OUdLl2x4+882c1PZsk E3N8603VyUXEw6ITnKLf6sKSpeqSYWkm/r7Zl4dOkI4Vo7FE6W9ZdgwttdZdXo2nVWlp Nwpg== X-Forwarded-Encrypted: i=1; AFNElJ+qMWFEzK2Ve2spjGjwSVY84oIePi6EEZB9zSkK3M+9KKREEEC7qzw5s0UGyBUiU4lt6oHRZPd6XDj/Fis=@vger.kernel.org X-Gm-Message-State: AOJu0Yyf6pyDgFHLjuKBYp1F5b/6pn9X6djYDQB8/3IFRw3qTTMDu7Ma gcV1JX6H7KbtEAyhuD0FfDMU/sCugOtx66zLoSBywNjrnxYA9k08ssuhlzq4gluq4rfidNKCzqs pSpcIa6dfD4S8WrB4syOCuiBUtHK11NDqun1VuBLz77LQZgO1dAuvX+jt630H8264VFhNU5ovGG 8= X-Gm-Gg: Acq92OF9NjCPm3oEQFFUfcr7VafOqoIkIxQXJ+S1Lx8r7zHsYQpgpmTpLj9/yOjfU0u DSMwabLJO6vVMJW0SwUEhNgMjzIeZ8253Ice6DKjAyQfaIxEM2zKBRIhRdxiWnAJPCKxQ5PeXzp LDS1LGCJ69S9mU2H9rZEdbcnPcJ9hL41rgS5dIX8pdC41psPuskDoQEfKEOB8TlVK4J0lnQqsAH jhPbFmfDZ+UOJsMICCZV4xt9d9qXaUnfSKRnZLlVrepFDASqZojrwY3zMlF2U2AGIITgajY52/o QmioEW8xYbOF+p5SpnAOJnMrsuyOWyKjKcFIRGjTicRRjwQ/tRhUoBIO2Osy7yzH7TEJF4LM9G2 JhUBme4XqGAJ+lIxOhMWJGN8tXh/w/1aZasZ3e0u50qxXsD6cnCWFybs= X-Received: by 2002:a17:90b:3c0a:b0:367:e244:4c40 with SMTP id 98e67ed59e1d1-367e24450c9mr12345459a91.26.1778564367207; Mon, 11 May 2026 22:39:27 -0700 (PDT) X-Received: by 2002:a17:90b:3c0a:b0:367:e244:4c40 with SMTP id 98e67ed59e1d1-367e24450c9mr12345436a91.26.1778564366702; Mon, 11 May 2026 22:39:26 -0700 (PDT) Received: from [10.218.18.194] ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-368ac4cfc83sm732628a91.0.2026.05.11.22.39.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 11 May 2026 22:39:26 -0700 (PDT) Message-ID: Date: Tue, 12 May 2026 11:09:22 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] pci: quirks: Advertise D3cold capability for UPD720201 To: Bjorn Helgaas Cc: Bjorn Helgaas , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260430211443.GA440215@bhelgaas> Content-Language: en-US From: Sushrut Shree Trivedi In-Reply-To: <20260430211443.GA440215@bhelgaas> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-GUID: d_zXxm60bfQXW6S1YdWm8AvJH2isFpKa X-Proofpoint-ORIG-GUID: d_zXxm60bfQXW6S1YdWm8AvJH2isFpKa X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTEyMDA1MiBTYWx0ZWRfX4gyteUEk+Q41 b/urxKkSX4s/NmRxN/fAnmIjRa5KfhgRbAB645sBV/gq6EtXBTWp5m99XyHvkTEG42uvBFzBUSL SIvrLUlbteC09bwwRLHvcgKz6LjoKFJX4+2UEIvnh8wJH46xJGqJWTu2yqn2s+ife53K/l8rDa5 GPij+6jOdiZMjK6oQ0ELZGLZBYyOcY+lJZo6tNHFTyJHQYtveQo5rw4V+yrc9E94RMAvc82LzHl siCM6n3qWdLTmeyOxJGPVefwJpMES3pfBsuWnyOzUvk0BobHsnIuEIccCJ4jCDOLxvuvZiylO1T THhTXjAyy0ZBL0uB48LGMbONXCZDN6dc4XuSCnLT6m0Yy2H4qYobj5QIIjbiX98iy31+gastlIA yjYJKoKgcJnPpDv1uyDn9i4Xhx0zg0SOBGe8qUnHeFzo7JEqKjY8s7BQ0nBbGmCm731WeKczxdp BUBeADu6REIJ5sZR/NQ== X-Authority-Analysis: v=2.4 cv=c6ebhx9l c=1 sm=1 tr=0 ts=6a02bd10 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=i-3TK1uhxxqyyY9NkTsA:9 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-11_05,2026-05-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0 lowpriorityscore=0 priorityscore=1501 impostorscore=0 bulkscore=0 malwarescore=0 spamscore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605050000 definitions=main-2605120052 On 5/1/2026 2:44 AM, Bjorn Helgaas wrote: > On Thu, Apr 30, 2026 at 10:12:18AM +0530, Sushrut Shree Trivedi wrote: >> PCIe-to-USB bridge UPD720201 does not advertise D3cold >> support until firmware is loaded post pci enumeration. >> This results in upd blocking D3cold entry during system >> suspend and causing overall failure to enter XO >> shutdown. > I think you're saying that the PM Capability in config space changes > when the firmware is loaded. That makes me worry about what *other* > config space changes might happen when the firmware is loaded. > There's all sorts of stuff we do during enumeration that depends on > what's in config space. Yeah, that's a valid concern here but we checked with renesas also and they have confirmed this is the only delta in PCI config space before/after firmware loading. > >> Hence, add a quirk to advertise D3cold PME capability >> since the HW actually supports and advertises it post >> firmware loading. >> >> Signed-off-by: Sushrut Shree Trivedi >> --- >> drivers/pci/quirks.c | 10 ++++++++++ >> 1 file changed, 10 insertions(+) >> >> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c >> index caaed1a01dc0..c32617ed33aa 100644 >> --- a/drivers/pci/quirks.c >> +++ b/drivers/pci/quirks.c >> @@ -6381,3 +6381,13 @@ static void pci_mask_replay_timer_timeout(struct pci_dev *pdev) >> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_GLI, 0x9750, pci_mask_replay_timer_timeout); >> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_GLI, 0x9755, pci_mask_replay_timer_timeout); >> #endif >> + >> +/* >> + * Renesas PCIe-to-USB bridge UPD720201 does not advertise D3cold >> + * capability by default until firmware is loaded post-enumeration. > There are several mentions of "Renesas UPD720201/UPD720202 USB 3.0 > xHCI Host Controller" in the tree. I assume this is the same device? > If so, I think it'd be worth using similar terminology, i.e., "USB > xHCI host controller" instead of "PCIe-to-USB bridge" ACK'd. > >> +static void quirk_enable_d3cold(struct pci_dev *dev) >> +{ >> + dev->pme_support = dev->pme_support | (1 << PCI_D3cold); >> +} >> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_RENESAS, 0x0014, quirk_enable_d3cold); > How do we know that FINAL fixups happen after firmware loading? FINAL fixups would actually happen before firmware-loading because firmware is loaded as part of xhci host controller driver probe. That shouldn't be an issue because we know post successful firmware loading, D3cold is supported by the xHCI controller. In the odd scenario that FW loading fails, xHCI controller functionality will be completely broken and it makes sense to put it in D3cold.