Re: WinCE 5.0 pcmcia public code bug?

Tech-Archive recommends: Fix windows errors by optimizing your registry



Thanks for the reply. I'm fully aware that when CF card is plugged in, it's
started in memory mode and that is the Card Ready/Busy line. When it goes to
I/O mode, that same line become Interrupt Request line. I'd be more than
happy to describe to you in more detail but, I'd feel more comfortable if we
can take this offline. Kindly drop me an email at zhi4jie2@xxxxxxxxxx I will
furnish more details.

"David Liao (MS)" wrote:

> So. Let me to understand what you concern.
>
> For shared interrupt we have to do this, right?
>
> For embeded device (which the irq is only used for PCCard), If the IRQ fire
> by accident after remove, I suppose system ISR is call and signal the event
> and Interrupt Mask Off again.
> Although I think the cutting off the client IRQ line is require by PC Card
> Specification, It do think there is any problem with this implementation.
>
> If any one have suggestion how I can check this Client IRQ is last one on
> the line in system, I will be really glad.
>
> I don't think your CF card example is correct. Any card is inserted into
> system is memory card only. This line should serve as CARD READY ( not
> interrupt). If this line is connected to system IRQ line, It could cause
> system generate interrupt. But, even that, I don't think it won't cause any
> problem because there is no IST for this card before any one call
> RequestIRQ.
>
> So for shared interrupt system, The (READY/nIRQ) has to be implemented
> correctly.
>
> I just couldn't imaging how it can break you in this case.
>
> Can you tell me what exactly break?
>
> "Zhijie" <Zhijie@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
> news:95AB2DAB-F30C-4957-A90A-AAEAA28E4662@xxxxxxxxxxxxxxxx
> > Hi David,
> >> You worry too much.
> > Not really. The current implementation of PCMCIA code is giving me
> > problem :)
> > I can't afford to spend a lot of time digging into WinCE public codes
> > unless
> > I have to. (to understand the cause of problem I encountered).
> >
> >> So, the interrupt line is cutting off from external, even we enable the
> >> interrupt, I don't think it will generate any interrupt to the system.
> > As what Steve has replied in the mail below, this assumption is not
> > always valid. Let me give you a very simplified scenario. Take CF memory
> > card
> > (using ATADISK driver) for example. Imagine that after you've pulled out
> > the
> > CF card, the interrupt is still enable. Now reinsert the CF card. Spurious
> > interrupt might be generated. But with the interrupt being enabled.
> > Interrupt
> > handler in OAL will first process this. But the ATADISK driver has not
> > been
> > unloaded yet since the card is pulled out. (The actual situation in our
> > hardware/system is more complicated. I'm just giving a very simplified
> > example just to illustrate the issue). Consider that scenario if the
> > interrupt is disable when the card is ejected. Even spurious interrupt
> > comes
> > in, it doesn't matter. Interrupt will be enable when the driver is loaded
> > and
> > ready to process any interrupts. Spurious interrupt also can be cleared.
> > Hope
> > you get a better picture now.
> >
> > Besides, the way that this is implemented (enable interrupt after card
> > disabled/removed) is also not consistent with WinCE driver model. I can't
> > recall any other drivers did it that way. Further, it's not clearly
> > documented in the source code why is it being done that way. IMHO, I
> > believe
> > something need to be done on this.
> > Anyway, I've already modified the public code (ie, reverse the order to
> > the
> > two function call) and this works fine on our system. I could have other
> > workaround in OAL interrupt handling code but that will make OAL's code
> > messy. I prefer to have cleaner solution and thus ask the question here.
> > Hopefully there is some QFE to address this if this is a real issue.
> >
> > Regards,
> > Zhijie
> >
> >
> >
> >
> >
>
>
>
.



Relevant Pages

  • Re: 3Ware 9500S-12 RAID controller -- poor performance
    ... I have seen some systems on which IRQ load balancing can have a detrimental ... > I'm planning to ditch RAID5 on this card and try JBOD ... > Something is very wrong with this card / driver / ...
    (Linux-Kernel)
  • 3com wol and nfs root trouble
    ... I have a 3com 905c card and have following issues with it: ... As I need the driver compiled in I patched the ... Allocating PCI resources starting at 08000000 ... PCI: Via IRQ fixup ...
    (Linux-Kernel)
  • Re: em(4) stops forwarding
    ... the card has stopped working several times. ... The interrupt is shared since the machine is a notebook. ... as my USB mouse stopped working - the USB controller is on the same irq. ... So even though the if_em driver has a very fast interrupt ...
    (freebsd-current)
  • Re: XPE is frozen after leaving XPE without any user-input for a l
    ... You most likely have problem in driver for your video acquisiton card or problem with hardware itself. ... My wild guess about your problem is that this is IRQ related problem. ...
    (microsoft.public.windowsxp.embedded)
  • Re: CF / PCMCIA interrupt mechanism
    ... The Card Interrupt is different Card Detectinterrupt. ... Card Interrupt is only be used by PCMCIA client Driver directly. ...
    (microsoft.public.windowsce.platbuilder)