From owner-cvs-all@FreeBSD.ORG Sat Aug 9 14:05:55 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A255537B401; Sat, 9 Aug 2003 14:05:55 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B83043FF2; Sat, 9 Aug 2003 14:05:55 -0700 (PDT) (envelope-from imp@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h79L5t0U053144; Sat, 9 Aug 2003 14:05:55 -0700 (PDT) (envelope-from imp@repoman.freebsd.org) Received: (from imp@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h79L5s8j053143; Sat, 9 Aug 2003 14:05:54 -0700 (PDT) Message-Id: <200308092105.h79L5s8j053143@repoman.freebsd.org> From: Warner Losh Date: Sat, 9 Aug 2003 14:05:54 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/pccbb pccbb.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Aug 2003 21:05:56 -0000 imp 2003/08/09 14:05:54 PDT FreeBSD src repository Modified files: sys/dev/pccbb pccbb.c Log: Add code to cope more with strange conditions after careful study of the standard. 1) When the bridge tells us that we have a card that isn't recognized, we use the force register to force the CV_TEST to run. This test causes the bridge to re-evaluate the card. Once this re-evaluation process happens, we get a new interrupt that may say it is ready to process. We try this up to 20 times. Tests have shown that this appears to correctly reset the 'Unknown card type' problem that I saw on my Sony PCG-505TS. 2) Take a page from OLDCARD and always read the CSC register in the ISR. Some TI (and it seems maybe Ricoh) chipsets require this to behave properly. This work around appears to work due to some power management protocols that were improperly implemented. Maybe it can be removed when this driver supports the full PME# protocol described in the standards. 3) Minor additional debug printf when debugging is enabled. 4) Minor additional commentary for things that are obvious only after study. # I'm committing this from my Sony PCG-505TS using shared PCI interrupts # and NEWCARD, but there are some issues with the Ricoh bridge still, but # at least now I can boot with the card inserted and have it work. Revision Changes Path 1.85 +42 -14 src/sys/dev/pccbb/pccbb.c