aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/fdc
Commit message (Collapse)AuthorAgeFilesLines
* Copy releng/8.2 to release/8.2.0 for 8.2-RELEASE.release/8.2.0_cvsKen Smith2011-02-165-5/+5
| | | | | | Approved by: re (implicit) This commit was manufactured to restore the state of the 8.2-RELEASE image.
* MFC: r208650Jung-uk Kim2010-06-021-1/+3
| | | | | | | | | | Fix a regression from r203544 (MFC of r200554), which broke fdc(4) attachment to acpi(4). Approved by: re (kib) Notes: svn path=/stable/8/; revision=208757
* MFC r197945:Edward Tomasz Napierala2010-03-271-1/+1
| | | | | | | | Orphaning provider with EXDEV seems weird; perhaps the author meant ENXIO here? Notes: svn path=/stable/8/; revision=205765
* MFC r197104,197105,197106,197107,197688,198237,199337,199338,200553,200554,Andriy Gapon2010-02-061-57/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 202771,202773: bring acpica version to 20100121 MFC details: r197104 | jkim | 2009-09-12 01:48:53 +0300 (Sat, 12 Sep 2009) | 4 lines MFV: r196804 Import ACPICA 20090903 r197105 | jkim | 2009-09-12 01:49:34 +0300 (Sat, 12 Sep 2009) | 2 lines Catch up with ACPICA 20090903. r197106 | jkim | 2009-09-12 01:50:15 +0300 (Sat, 12 Sep 2009) | 2 lines Catch up with ACPICA 20090903. r197107 | jkim | 2009-09-12 01:56:08 +0300 (Sat, 12 Sep 2009) | 2 lines Canonify include paths for newly added files. r197688 | jkim | 2009-10-01 23:56:15 +0300 (Thu, 01 Oct 2009) | 4 lines Compile ACPI debugger and disassembler for kernel modules unconditionally. These files will generate almost empty object files without ACPI_DEBUG/DDB options. As a result, size of acpi.ko will increase slightly. r198237 | jkim | 2009-10-19 19:12:58 +0300 (Mon, 19 Oct 2009) | 2 lines Merge ACPICA 20091013. r199337 | jkim | 2009-11-16 23:47:12 +0200 (Mon, 16 Nov 2009) | 2 lines Merge ACPICA 20091112. r199338 | jkim | 2009-11-16 23:53:56 +0200 (Mon, 16 Nov 2009) | 2 lines Add a forgotten module Makefile change from the previous commit. r200553 | jkim | 2009-12-15 00:24:04 +0200 (Tue, 15 Dec 2009) | 2 lines Merge ACPICA 20091214. r200554 | jkim | 2009-12-15 00:28:32 +0200 (Tue, 15 Dec 2009) | 3 lines Remove _FDE quirk handling as these quirks are automatically repaired by ACPICA layer since ACPICA 20091214. r202771 | jkim | 2010-01-21 23:14:28 +0200 (Thu, 21 Jan 2010) | 2 lines Merge ACPICA 20100121. r202773 | jkim | 2010-01-21 23:31:39 +0200 (Thu, 21 Jan 2010) | 2 lines Fix a new header inclusion. Discussed with: jkim, jhb No objections from: acpi@ Notes: svn path=/stable/8/; revision=203544
* MFC r198520, r198857: fdc(4) module unload fixesJaakko Heinonen2009-12-231-5/+15
| | | | | | | | PR: kern/104079 Approved by: trasz (mentor) Notes: svn path=/stable/8/; revision=200895
* With the fdc control device disappearing some 5 years ago, it is noJoerg Wunsch2009-06-241-4/+0
| | | | | | | | | | longer useful for the FD_STYPE and FD_SOPTS ioctls to insist on being issued on a writable file descriptor. Otherwise, there's no longer a chance to set the drive type or options when a read-only medium is present in the drive, as there is no way to obtain a writable fd then. Notes: svn path=/head/; revision=194891
* Import ACPICA 20090521.Jung-uk Kim2009-06-051-1/+2
| | | | Notes: svn path=/head/; revision=193530
* Eliminate an unused variable reported by coverityWarner Losh2008-11-231-4/+2
| | | | | | | Submitted by: Ganbold Notes: svn path=/head/; revision=185235
* - Revive fdc(4) per-device flag 0x10, which was removed in r1.284[1].Jung-uk Kim2008-11-151-63/+86
| | | | | | | | | | | | | | | | - If the flag is set and auto-select fails, assume disk is not present. - Set disk empty flag only when the floppy controller reset is needed. It fixes regression introduced in r1.311, which prevented it from ignoring errors. Now fdformat(1) and dd(1) with conv=noerror option can continue when read/write errors occur as they should. - Do not retry disk probing as it is extremely slow and pointless. - Move the disk probing code into a separate function. - Do not reset disk empty flag if write-protect check fails somehow. PR: kern/116538[1] Notes: svn path=/head/; revision=184976
* The wakeup() line from the rev. 1.319 is wrong and reintroducesKonstantin Belousov2008-01-111-2/+1
| | | | | | | | | | | | | a panic race on module unload. The wakeup() is internal to kproc_exit/kthread_exit. The correct fix is to fix the msleep() in detach to sleep on fdc->fdc_thread instead of &fdc->fdc_thread. Noted and reviewed by: jhb Pointy hat to: kib MFC after: 1 week Notes: svn path=/head/; revision=175230
* Fix unload of the fdc.ko:Konstantin Belousov2008-01-111-1/+8
| | | | | | | | | | | | Wakeup the thread doing the fdc_detach() when the fdc worker thread exits [1]. Write access to the write-protected floppy shall call device_unbusy() to pair the device_busy() in the fd_access() [2]. PR: 116537 [1], 116539 [2] MFC after: 1 week Notes: svn path=/head/; revision=175226
* Rename the kthread_xxx (e.g. kthread_create()) callsJulian Elischer2007-10-201-2/+2
| | | | | | | | | | | | | | to kproc_xxx as they actually make whole processes. Thos makes way for us to add REAL kthread_create() and friends that actually make theads. it turns out that most of these calls actually end up being moved back to the thread version when it's added. but we need to make this cosmetic change first. I'd LOVE to do this rename in 7.0 so that we can eventually MFC the new kthread_xxx() calls. Notes: svn path=/head/; revision=172836
* Always protect the kthread flags with the lock and close a race withJohn Baldwin2007-02-271-2/+1
| | | | | | | | | module unload and kthread_exit(). MFC after: 3 days Notes: svn path=/head/; revision=167083
* Use tsleep() rather than msleep() with a NULL mtx parameter.John Baldwin2007-02-231-9/+9
| | | | Notes: svn path=/head/; revision=166934
* o break newbus api: add a new argument of type driver_filter_t toPaolo Pisati2007-02-231-3/+14
| | | | | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@ Notes: svn path=/head/; revision=166901
* Sweep kernel replacing suser(9) calls with priv(9) calls, assigningRobert Watson2006-11-061-2/+4
| | | | | | | | | | | | | | | | specific privilege names to a broad range of privileges. These may require some future tweaking. Sponsored by: nCircle Network Security, Inc. Obtained from: TrustedBSD Project Discussed on: arch@ Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri, Alex Lyashkov <umka at sevcity dot net>, Skip Ford <skip dot ford at verizon dot net>, Antoine Brodin <antoine dot brodin at laposte dot net> Notes: svn path=/head/; revision=164033
* Fix style nits. No md5 changes in .o's. ;-)Jung-uk Kim2006-09-081-2/+2
| | | | Notes: svn path=/head/; revision=162165
* Restore Digital Outpur Register (DOR) for enhanced controller after reset.Jung-uk Kim2006-08-291-2/+2
| | | | Notes: svn path=/head/; revision=161714
* Assume floppy disk is not inserted when we have exhausted retries. ThisJung-uk Kim2006-07-121-0/+3
| | | | | | | | | | | | | significantly reduces booting time when there is broken floppy disk drive, controller, cable, BIOS, etc. When the floppy controller interface is correctly implemented, disk change signal (DSKCHG) is reflected in the Digital Input Register (DIR) at 0x3f7. However, there are many cases that the signal is unusable. Moreover, some BIOS does not reserve the port at all. In those cases, the register may not function. Notes: svn path=/head/; revision=160283
* Enhanced floppy controllers have Data Rate Select Register (DSR) at 0x3f4.Jung-uk Kim2006-07-061-8/+24
| | | | | | | | | | | | Use it to reset controller and to select data rate. According to Intel 80277AA datasheet, software reset behaves the same as DOR reset except that it is self clearing. National Semiconductor PC8477B datasheet says the same. As a side effect, we no longer use Configuration Control Register (CCR) at 0x3f7 for these controllers, which is often missing in modern hardware. Notes: svn path=/head/; revision=160137
* - Use callout_init_mtx() to initialize toffhandle callout using the fdc'sJohn Baldwin2006-02-231-9/+5
| | | | | | | | | | | | | | | | | | mutex. - Don't use callout_drain() to stop the toffhandle callout while holding the fdc mutex (this could deadlock) in functions called from softclock (callouts aren't allowed to do voluntary sleeps). Instead, use callout_stop(). Note that since we hold the associated mutex and are now using callout_init_mtx(), callout_stop() is just as effective as callout_drain(). (Though callout_drain() is still needed in detach to make sure softclock isn't contesting on our mutex before we destroy the mutex.) - Remove unused callout 'tohandle' from softc. MFC after: 1 week Notes: svn path=/head/; revision=155956
* Remove unused variable.Nate Lawson2006-02-211-2/+0
| | | | | | | | Coverity ID: 558 Found by: Coverity Prevent Notes: svn path=/head/; revision=155870
* Canonize the include of acpi.h.David E. O'Brien2005-09-111-1/+1
| | | | Notes: svn path=/head/; revision=150003
* FDOPT_NORETRY is an option, and must be compared with fd->options,Craig Rodrigues2005-08-301-1/+1
| | | | | | | | | | | not fd->flags. PR: kern/85481 Submitted by: Lev Levinson <llevinson at inbox dot ru> MFC after: 1 day Notes: svn path=/head/; revision=149650
* Eliminate unused argument in PCMCIA_CARD macro.Warner Losh2005-06-241-1/+1
| | | | | | | | | | | Provide a backwards compatible way to have the extra macro by defining PCCARD_API_LEVEL 5 before including pccarddevs for driver writers that want/need to have the same driver on 5 and 6 with pccard attachments. Approved by: re (dwhite) Notes: svn path=/head/; revision=147580
* If we fail a sanity check for the resources just allocated, make sureWarner Losh2005-03-151-1/+3
| | | | | | | | | | that we free that resource. All the other resources are freed in their own routine, but since we haven't saved a pointer to this one, it is leaked. This is the failure case that lead to the sio ports that weren't working, I think. Notes: svn path=/head/; revision=143618
* Only allocate 1 port for non-zero rids. Either we'll get the properWarner Losh2005-03-141-1/+1
| | | | | | | | length form the enumeration mechanism, or we're dealing with the FDCTL register, which is only 1 port long. Notes: svn path=/head/; revision=143602
* Fix a couple of problems with the probe code when used with pnpbiosWarner Losh2005-03-101-9/+23
| | | | | | | | | | | | | | | | | | | | | resources. When allocating 6 ports for a 4 port range isa code returns an error. I'm not sure yet why this is the case, but suspect it is just a non-regularity in how the resource allocation code works which should be corrected. Use 1 as the ports size in this case. However, in the hints case, we have to specify the length, so use 6 in that case. I believe that this is also acpi friendly. Also, complain when we can't allocate FDOUT register space. Right now we silently fail when we can't. This failure is referred to above. When there's no resource for FDCTL, go ahead and allocate one by hand. Many PNPBIOS tables don't list this resource, and our hints mechanism also doesn't cover that range. If we can't allocate it, whine, but fake up something. Before, we were always bogusly faking it and no one noticed the sham (save the original author who has now fixed his private shame). Notes: svn path=/head/; revision=143380
* Add missing ()Poul-Henning Kamp2005-02-281-3/+3
| | | | Notes: svn path=/head/; revision=142791
* Add missing va_end() in fdc_cmd.Pyun YongHyeon2005-02-281-2/+5
| | | | | | | | | 0 -> NULL in arguments of fdc_sense_int(). Reminded by: joerg Notes: svn path=/head/; revision=142750
* Mask off the upper bits of the resource before using it as an indexWarner Losh2005-01-201-3/+10
| | | | | | | | | | into a small array. Also, re-save the dev in attach to avoid depending on side effects of the probe. Weird stuff Reported by: jeffr Notes: svn path=/head/; revision=140514
* MFp4: overhaul of resource allocationWarner Losh2005-01-194-158/+134
| | | | | | | | | | | | | | | | | | | | Rather than have a twisty maze of special case allocations, move instead to a data driven allocation. This should be the most robust way to cope with the resource problems that the multiplicity of ways of encoding 5 registers that have the misfortune of not being a power of 2 nor contiguous. Also, make it less impossible that pccard will work. I've not been able to get my libretto floppy working, but it now fails later than before. phk and I had similar ideas on this during the 5.3 release cycle, but it wasn't until recently that I could test more than one allocation scenario. MFC After: 1 month (5.4 if possible, 5.5 if not) Notes: svn path=/head/; revision=140469
* Use the standard FreeBSD licenseWarner Losh2005-01-113-21/+15
| | | | Notes: svn path=/head/; revision=140040
* Pass the file->flags down to geom ioctl handlers.Poul-Henning Kamp2004-12-121-1/+7
| | | | | | | | | | | Reject certain ioctls if write permission is not indicated. Bump geom API version. Reported by: Ruben de Groot <mail25@bzerk.org> Notes: svn path=/head/; revision=138732
* Properly wither the geom container on detach. This will allow one toWarner Losh2004-11-211-0/+5
| | | | | | | | | | | then later reload fdc and not have duplicate fd devices in dev. # Maybe this should be moved to a convenience function. Reviewed by: phk Notes: svn path=/head/; revision=137973
* Add the last missing bits to make this unloadable: Two wakeups andPoul-Henning Kamp2004-11-081-3/+11
| | | | | | | | calling of the GEOM modevent from the drivers modevent so we know the order things happen. Notes: svn path=/head/; revision=137398
* Remove a duplicate code.Yoshihiro Takahashi2004-10-301-1/+0
| | | | Notes: svn path=/head/; revision=137068
* Now that filesystems respect and understand GEOM access counts, refusePoul-Henning Kamp2004-10-291-2/+0
| | | | | | | a write open of a read-only floppydisk. Notes: svn path=/head/; revision=137044
* Properly handle failure to allocate isadma bounce bufferPoul-Henning Kamp2004-10-221-2/+6
| | | | Notes: svn path=/head/; revision=136787
* Remove unused variable. Pointy hat candidate.Nate Lawson2004-10-151-1/+0
| | | | Notes: svn path=/head/; revision=136533
* Remove local hacks to set flags now that the device probe does this for us.Nate Lawson2004-10-141-2/+0
| | | | | | | | | | Tested on every device except sio_pci and the pc98 fd.c. Perhaps something similar should be done for the "disabled" hints also. MFC after: 2 weeks Notes: svn path=/head/; revision=136520
* Fix off-by-one error in fd_native_types that results in a panic on bootPeter Edwards2004-10-101-0/+1
| | | | | | | | | for machines with 2.88M floppies. Reviewed By: phk Notes: svn path=/head/; revision=136360
* Yet another case of resources:Warner Losh2004-10-051-4/+4
| | | | | | | | | | | | | | | | | | | | | | + * 9: 0x3f0-0x3f3,0x3f4-0x3f5,0x3f7 This requires only one change to support. Rather than keying on the size of the resource being 2, instead key off the end & 7 being 3. This covers the same cases that the size of 2 would catch, but also covers the new above case. In addition, I think it is clearer to use the end in preference to the size and start for case #8 as well. Turns two tests into one, and catches no other cases. Make minor commentary changes to deal with new case #9. # This change is specifically minimal to allow easy MFC. A more # extensive change will go into current once I've had a chance to test # it on a lot of hardware... Notes: svn path=/head/; revision=136138
* Only fall back to probing the floppy drives via hints if there is a failureJohn Baldwin2004-09-291-5/+9
| | | | | | | | | | | | in the actual _FDE parsing. If the failure occurs earlier such as in fdc_attach() then don't try to probe any drives. MFC after: 3 days Reviewed by: njl Tested by: Christian Laursen xi at borderworlds dot dk Notes: svn path=/head/; revision=135938
* Use the floppy drive unit number to name the /dev entry, not thePoul-Henning Kamp2004-09-251-1/+1
| | | | | | | | | controller unit number. Submitted by: Rostislav Krasny <rosti_bsd@yahoo.com> Notes: svn path=/head/; revision=135788
* Few (trailing) whitespace and spelling fixes.Joerg Wunsch2004-09-241-6/+6
| | | | Notes: svn path=/head/; revision=135766
* Protect fdc->flags within the worker thread, too.Joerg Wunsch2004-09-241-1/+6
| | | | | | | | | Use kthread_exit() instead of falling through the end of the worker thread's main function. Since kthread_exit() wakeup(9)s everyone sleeping on the thread handle, drop the superfluous wakeup() call. Notes: svn path=/head/; revision=135765
* Lock the flags field with the mutex.Poul-Henning Kamp2004-09-241-8/+25
| | | | | | | Improve a number of comments. Notes: svn path=/head/; revision=135736
* Implement terminating the worker thread when the driver is about toJoerg Wunsch2004-09-232-3/+23
| | | | | | | | | | be deregistered. Not yet tested, since by now, GEOM doesn't want us to deregister. PHK wants to fix that RSN. Notes: svn path=/head/; revision=135638
* das@ has a ACPI bios that lists 0x3f0-0x3f1, 0x3f2-0x3f3, 0x3f4-0x3f5Warner Losh2004-09-201-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and 0x3f7. fdc_isa_alloc_resource() didn't work right in this case (it accessed FDOUT correctly due to an overflow of the first resource. It accesed FDSTS and FDDATA incorrectly via the second resource (which wound up accessing FDOUT and the tape register at 0x3f3) and badly for the CTL register (at location 0x3f4). This is a minimal fix that just 'eats' the first one if it covers two locations and has an offset of 0. This confusion lead the floppy driver to think there'd been a disk change, which uncovered a deadlock in the floppy/geom code which lead to a panic. These changes fix that by fixing the underlying resource problem, but doesn't address the potential deadlock issue that might still be there. This is a minimal fix so it can more safely be merged into 5 w/o risk for known working configurations (hence the use of the ugly goto, which reduces case 8 to case 6 w/o affecting cases 1-7). A more invasive fix that will handle more ACPI resource list diversity is in the pipeline that should kill these issues once and for all, while staying within the resources that we allocate. Tested/Reported by: das Reviewed by: njl MFC before: re->next_release_name(5.3-BETA5); Notes: svn path=/head/; revision=135504