head 1.9; access; symbols netbsd-11-0-RC5:1.7 netbsd-11-0-RC4:1.7 netbsd-11-0-RC3:1.7 netbsd-11-0-RC2:1.7 netbsd-11-0-RC1:1.7 perseant-exfatfs-base-20250801:1.7 netbsd-11:1.7.0.36 netbsd-11-base:1.7 netbsd-10-1-RELEASE:1.7 perseant-exfatfs-base-20240630:1.7 perseant-exfatfs:1.7.0.34 perseant-exfatfs-base:1.7 netbsd-8-3-RELEASE:1.6 netbsd-9-4-RELEASE:1.7 netbsd-10-0-RELEASE:1.7 netbsd-10-0-RC6:1.7 netbsd-10-0-RC5:1.7 netbsd-10-0-RC4:1.7 netbsd-10-0-RC3:1.7 netbsd-10-0-RC2:1.7 thorpej-ifq:1.7.0.32 thorpej-ifq-base:1.7 thorpej-altq-separation:1.7.0.30 thorpej-altq-separation-base:1.7 netbsd-10-0-RC1:1.7 netbsd-10:1.7.0.28 netbsd-10-base:1.7 bouyer-sunxi-drm:1.7.0.26 bouyer-sunxi-drm-base:1.7 netbsd-9-3-RELEASE:1.7 thorpej-i2c-spi-conf2:1.7.0.24 thorpej-i2c-spi-conf2-base:1.7 thorpej-futex2:1.7.0.22 thorpej-futex2-base:1.7 thorpej-cfargs2:1.7.0.20 thorpej-cfargs2-base:1.7 cjep_sun2x-base1:1.7 cjep_sun2x:1.7.0.18 cjep_sun2x-base:1.7 cjep_staticlib_x-base1:1.7 netbsd-9-2-RELEASE:1.7 cjep_staticlib_x:1.7.0.16 cjep_staticlib_x-base:1.7 thorpej-i2c-spi-conf:1.7.0.14 thorpej-i2c-spi-conf-base:1.7 thorpej-cfargs:1.7.0.12 thorpej-cfargs-base:1.7 thorpej-futex:1.7.0.10 thorpej-futex-base:1.7 netbsd-9-1-RELEASE:1.7 bouyer-xenpvh-base2:1.7 phil-wifi-20200421:1.7 bouyer-xenpvh-base1:1.7 phil-wifi-20200411:1.7 bouyer-xenpvh:1.7.0.8 bouyer-xenpvh-base:1.7 is-mlppp:1.7.0.6 is-mlppp-base:1.7 phil-wifi-20200406:1.7 netbsd-8-2-RELEASE:1.6 ad-namecache-base3:1.7 netbsd-9-0-RELEASE:1.7 netbsd-9-0-RC2:1.7 ad-namecache-base2:1.7 ad-namecache-base1:1.7 ad-namecache:1.7.0.4 ad-namecache-base:1.7 netbsd-9-0-RC1:1.7 phil-wifi-20191119:1.7 netbsd-9:1.7.0.2 netbsd-9-base:1.7 phil-wifi-20190609:1.7 netbsd-8-1-RELEASE:1.6 netbsd-8-1-RC1:1.6 isaki-audio2:1.6.0.42 isaki-audio2-base:1.6 pgoyette-compat-merge-20190127:1.6 pgoyette-compat-20190127:1.6 pgoyette-compat-20190118:1.6 pgoyette-compat-1226:1.6 pgoyette-compat-1126:1.6 pgoyette-compat-1020:1.6 pgoyette-compat-0930:1.6 pgoyette-compat-0906:1.6 jdolecek-ncqfixes:1.6.0.40 jdolecek-ncqfixes-base:1.6 netbsd-7-2-RELEASE:1.6 pgoyette-compat-0728:1.6 netbsd-8-0-RELEASE:1.6 phil-wifi:1.6.0.38 phil-wifi-base:1.6 pgoyette-compat-0625:1.6 netbsd-8-0-RC2:1.6 pgoyette-compat-0521:1.6 pgoyette-compat-0502:1.6 pgoyette-compat-0422:1.6 netbsd-8-0-RC1:1.6 pgoyette-compat-0415:1.6 pgoyette-compat-0407:1.6 pgoyette-compat-0330:1.6 pgoyette-compat-0322:1.6 pgoyette-compat-0315:1.6 netbsd-7-1-2-RELEASE:1.6 pgoyette-compat:1.6.0.36 pgoyette-compat-base:1.6 netbsd-7-1-1-RELEASE:1.6 tls-maxphys-base-20171202:1.6 matt-nb8-mediatek:1.6.0.34 matt-nb8-mediatek-base:1.6 nick-nhusb-base-20170825:1.6 perseant-stdc-iso10646:1.6.0.32 perseant-stdc-iso10646-base:1.6 netbsd-8:1.6.0.30 netbsd-8-base:1.6 prg-localcount2-base3:1.6 prg-localcount2-base2:1.6 prg-localcount2-base1:1.6 prg-localcount2:1.6.0.28 prg-localcount2-base:1.6 pgoyette-localcount-20170426:1.6 bouyer-socketcan-base1:1.6 jdolecek-ncq:1.6.0.26 jdolecek-ncq-base:1.6 pgoyette-localcount-20170320:1.6 netbsd-7-1:1.6.0.24 netbsd-7-1-RELEASE:1.6 netbsd-7-1-RC2:1.6 nick-nhusb-base-20170204:1.6 netbsd-7-nhusb-base-20170116:1.6 bouyer-socketcan:1.6.0.22 bouyer-socketcan-base:1.6 pgoyette-localcount-20170107:1.6 netbsd-7-1-RC1:1.6 nick-nhusb-base-20161204:1.6 pgoyette-localcount-20161104:1.6 netbsd-7-0-2-RELEASE:1.6 nick-nhusb-base-20161004:1.6 localcount-20160914:1.6 netbsd-7-nhusb:1.6.0.20 netbsd-7-nhusb-base:1.6 pgoyette-localcount-20160806:1.6 pgoyette-localcount-20160726:1.6 pgoyette-localcount:1.6.0.18 pgoyette-localcount-base:1.6 nick-nhusb-base-20160907:1.6 nick-nhusb-base-20160529:1.6 netbsd-7-0-1-RELEASE:1.6 nick-nhusb-base-20160422:1.6 nick-nhusb-base-20160319:1.6 nick-nhusb-base-20151226:1.6 netbsd-7-0:1.6.0.16 netbsd-7-0-RELEASE:1.6 nick-nhusb-base-20150921:1.6 netbsd-7-0-RC3:1.6 netbsd-7-0-RC2:1.6 netbsd-7-0-RC1:1.6 nick-nhusb-base-20150606:1.6 nick-nhusb-base-20150406:1.6 nick-nhusb:1.6.0.14 nick-nhusb-base:1.6 netbsd-6-0-6-RELEASE:1.4 netbsd-6-1-5-RELEASE:1.4 netbsd-7:1.6.0.12 netbsd-7-base:1.6 yamt-pagecache-base9:1.6 yamt-pagecache-tag8:1.1.2.1 netbsd-6-1-4-RELEASE:1.4 netbsd-6-0-5-RELEASE:1.4 tls-earlyentropy:1.6.0.10 tls-earlyentropy-base:1.6 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.6 riastradh-drm2-base3:1.6 netbsd-6-1-3-RELEASE:1.4 netbsd-6-0-4-RELEASE:1.4 netbsd-6-1-2-RELEASE:1.4 netbsd-6-0-3-RELEASE:1.4 rmind-smpnet-nbase:1.6 netbsd-6-1-1-RELEASE:1.4 riastradh-drm2-base2:1.6 riastradh-drm2-base1:1.6 riastradh-drm2:1.6.0.8 riastradh-drm2-base:1.6 rmind-smpnet:1.6.0.6 rmind-smpnet-base:1.6 netbsd-6-1:1.4.0.8 netbsd-6-0-2-RELEASE:1.4 netbsd-6-1-RELEASE:1.4 khorben-n900:1.6.0.4 netbsd-6-1-RC4:1.4 netbsd-6-1-RC3:1.4 agc-symver:1.6.0.2 agc-symver-base:1.6 netbsd-6-1-RC2:1.4 netbsd-6-1-RC1:1.4 yamt-pagecache-base8:1.5 netbsd-6-0-1-RELEASE:1.4 yamt-pagecache-base7:1.5 matt-nb6-plus-nbase:1.4 yamt-pagecache-base6:1.5 netbsd-6-0:1.4.0.6 netbsd-6-0-RELEASE:1.4 netbsd-6-0-RC2:1.4 tls-maxphys:1.5.0.2 tls-maxphys-base:1.6 matt-nb6-plus:1.4.0.4 matt-nb6-plus-base:1.4 netbsd-6-0-RC1:1.4 jmcneill-usbmp-base10:1.5 yamt-pagecache-base5:1.5 jmcneill-usbmp-base9:1.5 yamt-pagecache-base4:1.5 jmcneill-usbmp-base8:1.5 jmcneill-usbmp-base7:1.5 jmcneill-usbmp-base6:1.5 jmcneill-usbmp-base5:1.5 jmcneill-usbmp-base4:1.5 jmcneill-usbmp-base3:1.5 jmcneill-usbmp-pre-base2:1.1 jmcneill-usbmp-base2:1.4 netbsd-6:1.4.0.2 netbsd-6-base:1.4 jmcneill-usbmp:1.1.0.6 jmcneill-usbmp-base:1.1 jmcneill-audiomp3:1.1.0.4 jmcneill-audiomp3-base:1.1 yamt-pagecache-base3:1.1 yamt-pagecache-base2:1.1 yamt-pagecache:1.1.0.2 yamt-pagecache-base:1.1; locks; strict; comment @# @; 1.9 date 2026.06.18.22.10.27; author rkujawa; state Exp; branches; next 1.8; commitid lk1gJhBYMOOfukKG; 1.8 date 2026.06.18.00.44.21; author rkujawa; state Exp; branches; next 1.7; commitid ERxkiUImRIUjndKG; 1.7 date 2019.05.08.13.40.19; author isaki; state Exp; branches; next 1.6; commitid LEGDdtzAItkeapmB; 1.6 date 2013.03.13.21.29.05; author macallan; state Exp; branches 1.6.38.1 1.6.42.1; next 1.5; 1.5 date 2012.02.21.15.26.20; author macallan; state Exp; branches 1.5.2.1; next 1.4; 1.4 date 2011.12.22.05.05.24; author macallan; state Exp; branches; next 1.3; 1.3 date 2011.12.13.14.46.07; author macallan; state Exp; branches; next 1.2; 1.2 date 2011.12.13.14.39.37; author macallan; state Exp; branches; next 1.1; 1.1 date 2011.08.31.16.47.31; author macallan; state Exp; branches 1.1.2.1 1.1.6.1; next ; 1.6.38.1 date 2019.06.10.22.07.30; author christos; state Exp; branches; next ; commitid jtc8rnCzWiEEHGqB; 1.6.42.1 date 2019.05.05.02.31.42; author isaki; state Exp; branches; next ; commitid P6qg5pdPOH2RzXlB; 1.5.2.1 date 2013.06.23.06.20.21; author tls; state Exp; branches; next ; commitid eVjr9caYRQbRGHUw; 1.1.2.1 date 2012.04.17.00.07.59; author yamt; state Exp; branches; next 1.1.2.2; 1.1.2.2 date 2014.05.22.11.40.34; author yamt; state Exp; branches; next ; commitid VUUXuyNWnt3AKwBx; 1.1.6.1 date 2012.02.18.07.34.55; author mrg; state Exp; branches; next 1.1.6.2; 1.1.6.2 date 2012.02.24.09.11.42; author mrg; state Exp; branches; next ; desc @@ 1.9 log @Implement DDC and mode setting on SM502. Enabled via kernel VOYAGERFB_MODE_SETTING option, disabled by default, since I can't test on Gdium. @ text @# Silicon Motion SM502 / Voyager GX define voyagerbus {} # the graphics part device voyagerfb: wsemuldisplaydev, rasops8, rasops16, rasops32, vcons, videomode, iic, i2c_bitbang, glyphcache attach voyagerfb at voyagerbus file dev/pci/voyager/voyagerfb.c voyagerfb needs-flag defflag opt_voyagerfb.h VOYAGERFB_DEBUG VOYAGERFB_ANTIALIAS defflag opt_voyagerfb.h VOYAGERFB_DEPTH_32 defflag opt_voyagerfb.h VOYAGERFB_MODE_SETTING: ddc_read_edid, edid # a clock timer defflag opt_pwmclock.h PWMCLOCK_DEBUG device pwmclock attach pwmclock at voyagerbus file dev/pci/voyager/pwmclock.c pwmclock needs-flag # the audio part device vac: audiobus, ac97 attach vac at voyagerbus file dev/pci/voyager/vac.c vac needs-flag @ 1.8 log @Add support for AC97 audio component of SM502 Multimedia Companion chip. While here, endinaness fixes for the framebuffer part. @ text @d11 1 @ 1.7 log @Merge isaki-audio2 branch, the overhaul of audio subsystem. - Interrupt-oriented system rather than thread-oriented. - Improve stability, quality and performance. - Split playback and record cleanly. Improve halfduplex support. - Many bugs are fixed including deadlocks, resource leaks, abuses, etc. - Simplify audio filter mechanism. The encoding/channels/frequency conversions are completely handled in the upper layer. So the hard- ware driver only converts its hardware encoding (if necessary). - audio_hw_if changes: - Obsoletes query_encoding and add query_format instead. - Obsoletes set_params and add set_format instead. - Remove drain, setfd, mappage. - The call sequences are changed. - ioctl AUDIO_GETFD/SETFD, AUDIO_GETCHAN/SETCHAN are obsoleted. - ioctl AUDIO_{QUERY,GET,SET}FORMAT are introduced. - cleanup config attributes: au*conv and mulaw. - All hardware drivers should follow it (I've done as much as possible). Some file paths are changed: - dev/audio.c -> dev/audio/audio.c (rewritten) - dev/audiovar.h -> dev/audio/audiovar.h - dev/audio_dai.h -> dev/audio/audio_dai.h - dev/audio_if.h -> dev/audio/audio_if.h - dev/audiobell.c -> dev/audio/audiobell.c - dev/audiobellvar.h -> dev/audio/audiobellvar.h - dev/mulaw.[ch] -> dev/audio/mulaw.[ch] + dev/audio/alaw.c @ text @d19 1 a19 1 device vac: audiobus @ 1.6 log @defflag VOYAGERFB_DEPTH_32 @ text @d19 1 a19 1 device vac: audiobus, auconv, mulaw @ 1.6.38.1 log @Sync with HEAD @ text @d19 1 a19 1 device vac: audiobus @ 1.6.42.1 log @Remove obsoleted au{,rate,vol}conv and mulaw attributes. audio provides the equivalent of them inseparably. @ text @d19 1 a19 1 device vac: audiobus @ 1.5 log @use glyphcache for anti-aliased fonts @ text @d10 1 @ 1.5.2.1 log @resync from head @ text @a9 1 defflag opt_voyagerfb.h VOYAGERFB_DEPTH_32 @ 1.4 log @support running in 32bit colour with anti-aliased fonts enable with options VOYAGERFB_ANTIALIAS @ text @d6 1 a6 1 device voyagerfb: wsemuldisplaydev, rasops8, rasops16, rasops32, vcons, videomode, iic, i2c_bitbang @ 1.3 log @define and use PWMCLOCK_DEBUG @ text @d6 1 a6 1 device voyagerfb: wsemuldisplaydev, rasops8, rasops16, vcons, videomode, iic, i2c_bitbang d9 1 a9 1 defflag opt_voyagerfb.h VOYAGERFB_DEBUG @ 1.2 log @an alternative clock implementation for Loongson2F and SM502, mostly Gdium-specific. This supports Loongson2F frequency scaling. The problem is that Gdium has no CPU clock independent high resolution timer we can use as a timecounter so we use one of the SM502's PWMs to generate a 100Hz timer interrupt, use the cp0 counter to measure time and adjust for frequency changes. Other Loongson-based machines will need something similar but hopefully less hackish. @ text @d12 1 @ 1.1 log @split up voyagerfb into the framebuffer portion and a pseudo bus that we can attach all the other sub-devices to while there attach an i2c bus @ text @d6 1 a6 1 device voyagerfb: wsemuldisplaydev, rasops8, rasops16, rasops32, vcons, videomode, iic, i2c_bitbang d8 1 a8 1 file dev/pci/voyager/voyagerfb.c voyagerfb d10 10 @ 1.1.2.1 log @sync with head @ text @d6 1 a6 1 device voyagerfb: wsemuldisplaydev, rasops8, rasops16, rasops32, vcons, videomode, iic, i2c_bitbang, glyphcache d8 2 a9 13 file dev/pci/voyager/voyagerfb.c voyagerfb needs-flag defflag opt_voyagerfb.h VOYAGERFB_DEBUG VOYAGERFB_ANTIALIAS # a clock timer defflag opt_pwmclock.h PWMCLOCK_DEBUG device pwmclock attach pwmclock at voyagerbus file dev/pci/voyager/pwmclock.c pwmclock needs-flag # the audio part device vac: audiobus, auconv, mulaw attach vac at voyagerbus file dev/pci/voyager/vac.c vac needs-flag @ 1.1.2.2 log @sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments") @ text @a9 1 defflag opt_voyagerfb.h VOYAGERFB_DEPTH_32 @ 1.1.6.1 log @merge to -current. @ text @d8 2 a9 13 file dev/pci/voyager/voyagerfb.c voyagerfb needs-flag defflag opt_voyagerfb.h VOYAGERFB_DEBUG VOYAGERFB_ANTIALIAS # a clock timer defflag opt_pwmclock.h PWMCLOCK_DEBUG device pwmclock attach pwmclock at voyagerbus file dev/pci/voyager/pwmclock.c pwmclock needs-flag # the audio part device vac: audiobus, auconv, mulaw attach vac at voyagerbus file dev/pci/voyager/vac.c vac needs-flag @ 1.1.6.2 log @sync to -current. @ text @d6 1 a6 1 device voyagerfb: wsemuldisplaydev, rasops8, rasops16, rasops32, vcons, videomode, iic, i2c_bitbang, glyphcache @