Home
last modified time | relevance | path

Searched refs:pio_mode (Results 1 – 108 of 108) sorted by relevance

/linux-4.4.14/drivers/ide/
Dide-xfer-mode.c65 int pio_mode = -1, overridden = 0; in ide_get_best_pio_mode() local
71 pio_mode = ide_scan_pio_blacklist((char *)&id[ATA_ID_PROD]); in ide_get_best_pio_mode()
73 if (pio_mode != -1) { in ide_get_best_pio_mode()
76 pio_mode = id[ATA_ID_OLD_PIO_MODES] >> 8; in ide_get_best_pio_mode()
77 if (pio_mode > 2) { /* 2 is maximum allowed tPIO value */ in ide_get_best_pio_mode()
78 pio_mode = 2; in ide_get_best_pio_mode()
84 pio_mode = 4 + min_t(int, 2, in ide_get_best_pio_mode()
90 pio_mode = 5; in ide_get_best_pio_mode()
92 pio_mode = 4; in ide_get_best_pio_mode()
94 pio_mode = 3; in ide_get_best_pio_mode()
[all …]
Dslc90e66.c31 const u8 pio = drive->pio_mode - XFER_PIO_0; in slc90e66_set_pio_mode()
109 drive->pio_mode = in slc90e66_set_dma_mode()
112 drive->pio_mode = XFER_PIO_2; /* for SWDMA2 */ in slc90e66_set_dma_mode()
Dit8213.c37 const u8 pio = drive->pio_mode - XFER_PIO_0; in it8213_set_pio_mode()
134 drive->pio_mode = in it8213_set_dma_mode()
137 drive->pio_mode = XFER_PIO_2; /* for SWDMA2 */ in it8213_set_dma_mode()
Dcs5520.c64 const u8 pio = drive->pio_mode - XFER_PIO_0; in cs5520_set_pio_mode()
88 drive->pio_mode = XFER_PIO_0 + 0; in cs5520_set_dma_mode()
Dit8172.c45 const u8 pio = drive->pio_mode - XFER_PIO_0; in it8172_set_pio_mode()
105 drive->pio_mode = in it8172_set_dma_mode()
Dcmd640.c515 u8 pio_mode, unsigned int cycle_time) in cmd640_set_mode() argument
527 if (pio_mode > 5) in cmd640_set_mode()
528 pio_mode = 5; in cmd640_set_mode()
530 t = ide_timing_find_mode(XFER_PIO_0 + pio_mode); in cmd640_set_mode()
579 const u8 pio = drive->pio_mode - XFER_PIO_0; in cmd640_set_pio_mode()
Dcs5535.c89 u8 piob = pair->pio_mode - XFER_PIO_0; in cs5535_set_speed()
153 cs5535_set_speed(drive, drive->pio_mode); in cs5535_set_pio_mode()
Dide-devsets.c109 drive->pio_mode = arg + XFER_PIO_0; in set_pio_mode()
156 __IDE_DEVSET(pio_mode, DS_SYNC, NULL, set_pio_mode);
Dpiix.c79 const u8 pio = drive->pio_mode - XFER_PIO_0; in piix_set_pio_mode()
190 drive->pio_mode = in piix_set_dma_mode()
193 drive->pio_mode = XFER_PIO_2; /* for SWDMA2 */ in piix_set_dma_mode()
Dtx4938ide.c62 u8 safe = drive->pio_mode - XFER_PIO_0; in tx4938ide_set_pio_mode()
67 safe = min_t(u8, safe, pair->pio_mode - XFER_PIO_0); in tx4938ide_set_pio_mode()
Dcs5536.c151 const u8 pio = drive->pio_mode - XFER_PIO_0; in cs5536_set_pio_mode()
155 cmd_pio = min_t(u8, pio, pair->pio_mode - XFER_PIO_0); in cs5536_set_pio_mode()
Dalim15x3.c109 ide_timing_compute(drive, drive->pio_mode, &t, T, 1); in ali_set_pio_mode()
113 ide_timing_compute(pair, pair->pio_mode, &p, T, 1); in ali_set_pio_mode()
180 ide_timing_compute(pair, pair->pio_mode, &p, T, 1); in ali_set_dma_mode()
Ddtc2278.c75 if (drive->pio_mode >= XFER_PIO_3) { in dtc2278_set_pio_mode()
Dtriflex.c86 drive->dma_mode = drive->pio_mode; in triflex_set_pio_mode()
Damd74xx.c97 ide_timing_compute(peer, peer->pio_mode, &p, T, UT); in amd_set_drive()
113 drive->dma_mode = drive->pio_mode; in amd_set_pio_mode()
Dumc8672.c111 const u8 pio = drive->pio_mode - XFER_PIO_0; in umc_set_pio_mode()
Dpalm_bk3710.c169 u8 mode2 = mate->pio_mode - XFER_PIO_0; in palm_bk3710_setpiomode()
213 const u8 pio = drive->pio_mode - XFER_PIO_0; in palm_bk3710_set_pio_mode()
Dopti621.c69 unsigned long mode = drive->pio_mode, pair_mode; in opti621_set_pio_mode()
Dcmd64x.c103 ide_timing_compute(pair, pair->pio_mode, &tp, T, 0); in cmd64x_program_timings()
135 const u8 pio = drive->pio_mode - XFER_PIO_0; in cmd64x_set_pio_mode()
Dvia82cxxx.c202 ide_timing_compute(peer, peer->pio_mode, &p, T, UT); in via_set_drive()
219 drive->dma_mode = drive->pio_mode; in via_set_pio_mode()
Dcs5530.c57 const u8 pio = drive->pio_mode - XFER_PIO_0; in cs5530_set_pio_mode()
Dali14xx.c119 const u8 pio = drive->pio_mode - XFER_PIO_0; in ali14xx_set_pio_mode()
Datiixp.c58 const u8 pio = drive->pio_mode - XFER_PIO_0; in atiixp_set_pio_mode()
Dcy82c693.c103 ide_timing_compute(drive, drive->pio_mode, &t, T, 1); in cy82c693_set_pio_mode()
Dtc86c001.c47 drive->dma_mode = drive->pio_mode; in tc86c001_set_pio_mode()
Dit821x.c243 const u8 pio = drive->pio_mode - XFER_PIO_0; in it821x_set_pio_mode()
256 u8 pair_pio = pair->pio_mode - XFER_PIO_0; in it821x_set_pio_mode()
Dht6560b.c284 const u8 pio = drive->pio_mode - XFER_PIO_0; in ht6560b_set_pio_mode()
Dide-timings.c192 ide_timing_compute(drive, drive->pio_mode, &p, T, UT); in ide_timing_compute()
Dtx4939ide.c111 const u8 pio = drive->pio_mode - XFER_PIO_0; in tx4939ide_set_pio_mode()
117 safe = min_t(u8, safe, pair->pio_mode - XFER_PIO_0); in tx4939ide_set_pio_mode()
Dsc1200.c200 const u8 pio = drive->pio_mode - XFER_PIO_0; in sc1200_set_pio_mode()
Dsl82c105.c72 const u8 pio = drive->pio_mode - XFER_PIO_0; in sl82c105_set_pio_mode()
Dsiimage.c251 const u8 pio = drive->pio_mode - XFER_PIO_0; in sil_set_pio_mode()
261 u8 pair_pio = pair->pio_mode - XFER_PIO_0; in sil_set_pio_mode()
Daec62xx.c139 drive->dma_mode = drive->pio_mode; in aec_set_pio_mode()
Dqd65xx.c213 const u8 pio = drive->pio_mode - XFER_PIO_0; in qd6580_set_pio_mode()
Dpdc202xx_old.c81 drive->dma_mode = drive->pio_mode; in pdc202xx_set_pio_mode()
Dserverworks.c115 const u8 pio = drive->pio_mode - XFER_PIO_0; in svwks_set_pio_mode()
Dpdc202xx_new.c175 const u8 pio = drive->pio_mode - XFER_PIO_0; in pdcnew_set_pio_mode()
Dsis5513.c296 sis_program_timings(drive, drive->pio_mode); in sis_set_pio_mode()
Dau1xxx-ide.c110 switch (drive->pio_mode - XFER_PIO_0) { in au1xxx_set_pio_mode()
Dide-proc.c269 IDE_PROC_DEVSET(pio_mode, 0, 255),
Dhpt366.c657 drive->dma_mode = drive->pio_mode; in hpt3xx_set_pio_mode()
Dpmac.c501 const u8 pio = drive->pio_mode - XFER_PIO_0; in pmac_ide_set_pio_mode()
Dide-probe.c1040 drive->pio_mode = XFER_PIO_0; in ide_port_init_devices()
/linux-4.4.14/drivers/ata/
Dpata_of_platform.c33 int pio_mode = 0; in pata_of_platform_probe() local
59 pio_mode = be32_to_cpup(prop); in pata_of_platform_probe()
60 if (pio_mode > 6) { in pata_of_platform_probe()
68 pio_mask = 1 << pio_mode; in pata_of_platform_probe()
69 pio_mask |= (1 << pio_mode) - 1; in pata_of_platform_probe()
Dpata_ns87410.c87 if (ata_timing_compute(adev, adev->pio_mode, &at, 30303, 1) < 0) { in ns87410_set_piomode()
88 dev_err(&pdev->dev, "unknown mode %d\n", adev->pio_mode); in ns87410_set_piomode()
124 if (adev->pio_mode && adev != ap->private_data) in ns87410_qc_issue()
Dpata_optidma.c118 int pio = adev->pio_mode - XFER_PIO_0; in optidma_mode_setup()
158 pair_addr = addr_timing[pci_clock][pair->pio_mode - XFER_PIO_0]; in optidma_mode_setup()
240 optidma_mode_setup(ap, adev, adev->pio_mode); in optidma_set_pio_mode()
270 optiplus_mode_setup(ap, adev, adev->pio_mode); in optiplus_set_pio_mode()
305 return bits43[adev->pio_mode - XFER_PIO_0]; in optidma_make_bits43()
Dpata_radisys.c41 unsigned int pio = adev->pio_mode - XFER_PIO_0; in radisys_set_piomode()
122 if (adev->pio_mode < needed_pio[mwdma]) in radisys_set_dmamode()
177 else if (adev->pio_mode) in radisys_qc_issue()
Dpata_ep93xx.c177 static int ep93xx_pata_get_wst(int pio_mode) in ep93xx_pata_get_wst() argument
181 if (pio_mode == 0) in ep93xx_pata_get_wst()
183 else if (pio_mode < 3) in ep93xx_pata_get_wst()
191 static void ep93xx_pata_enable_pio(void __iomem *base, int pio_mode) in ep93xx_pata_enable_pio() argument
194 ep93xx_pata_get_wst(pio_mode) | in ep93xx_pata_enable_pio()
195 (pio_mode << IDECFG_MODE_SHIFT), base + IDECFG); in ep93xx_pata_enable_pio()
343 ata_timing_compute(adev, adev->pio_mode, &drv_data->t, T, 0); in ep93xx_pata_set_piomode()
344 if (pair && pair->pio_mode) { in ep93xx_pata_set_piomode()
346 ata_timing_compute(pair, pair->pio_mode, &t, T, 0); in ep93xx_pata_set_piomode()
353 adev->pio_mode - XFER_PIO_0); in ep93xx_pata_set_piomode()
[all …]
Dpata_amd.c72 ata_timing_compute(peer, peer->pio_mode, &apeer, T, UT); in timing_setup()
211 timing_setup(ap, adev, 0x40, adev->pio_mode, 1); in amd33_set_piomode()
217 timing_setup(ap, adev, 0x40, adev->pio_mode, 2); in amd66_set_piomode()
223 timing_setup(ap, adev, 0x40, adev->pio_mode, 3); in amd100_set_piomode()
229 timing_setup(ap, adev, 0x40, adev->pio_mode, 4); in amd133_set_piomode()
355 timing_setup(ap, adev, 0x50, adev->pio_mode, 3); in nv100_set_piomode()
360 timing_setup(ap, adev, 0x50, adev->pio_mode, 4); in nv133_set_piomode()
Dpata_legacy.c222 dev->pio_mode = XFER_PIO_0; in legacy_set_mode()
270 int pio = adev->pio_mode - XFER_PIO_0; in pdc20230_set_piomode()
367 ata_timing_compute(adev, adev->pio_mode, &t, 20000, 1000); in ht6560a_set_piomode()
401 ata_timing_compute(adev, adev->pio_mode, &t, 20000, 1000); in ht6560b_set_piomode()
477 ata_timing_compute(adev, adev->pio_mode, &t, clock, 1000); in opti82c611a_set_piomode()
482 ata_timing_compute(pair, pair->pio_mode, &tp, clock, 1000); in opti82c611a_set_piomode()
556 ata_timing_compute(adev, adev->pio_mode, &t, clock, 1000); in opti82c46x_set_piomode()
561 ata_timing_compute(pair, pair->pio_mode, &tp, clock, 1000); in opti82c46x_set_piomode()
659 ata_timing_compute(adev, adev->pio_mode, &t, 30303, 1000); in qdi65x0_set_piomode()
696 if (adev->pio_mode) { in qdi_qc_issue()
[all …]
Dpata_sil680.c119 int pio = adev->pio_mode - XFER_PIO_0; in sil680_set_piomode()
127 if (pair != NULL && adev->pio_mode > pair->pio_mode) in sil680_set_piomode()
128 lowest_pio = pair->pio_mode - XFER_PIO_0; in sil680_set_piomode()
Dpata_opti.c110 int pio = adev->pio_mode - XFER_PIO_0; in opti_set_piomode()
135 u8 pair_addr = addr_timing[clock][pair->pio_mode - XFER_PIO_0]; in opti_set_piomode()
Dpata_triflex.c140 triflex_load_timing(ap, adev, adev->pio_mode); in triflex_set_piomode()
173 triflex_load_timing(qc->ap, qc->dev, qc->dev->pio_mode); in triflex_bmdma_stop()
Dpata_cs5535.c108 int mode = adev->pio_mode - XFER_PIO_0; in cs5535_set_piomode()
113 int pairmode = pair->pio_mode - XFER_PIO_0; in cs5535_set_piomode()
Dpata_ns87415.c66 ata_timing_compute(adev, adev->pio_mode, &t, T, 0); in ns87415_set_mode()
109 ns87415_set_mode(ap, adev, adev->pio_mode); in ns87415_set_piomode()
170 ns87415_set_mode(qc->ap, qc->dev, qc->dev->pio_mode); in ns87415_bmdma_stop()
Dpata_mpiix.c78 int pio = adev->pio_mode - XFER_PIO_0; in mpiix_set_piomode()
132 if (adev->pio_mode && adev != ap->private_data) in mpiix_qc_issue()
Dpata_oldpiix.c65 unsigned int pio = adev->pio_mode - XFER_PIO_0; in oldpiix_set_piomode()
161 if (adev->pio_mode < needed_pio[mwdma]) in oldpiix_set_dmamode()
Dpata_artop.c131 artop6210_load_piomode(ap, adev, adev->pio_mode - XFER_PIO_0); in artop6210_set_piomode()
184 artop6260_load_piomode(ap, adev, adev->pio_mode - XFER_PIO_0); in artop6260_set_piomode()
245 unsigned int pio = adev->pio_mode - XFER_PIO_0; in artop6260_set_dmamode()
Dpata_serverworks.c198 static const u8 pio_mode[] = { 0x5d, 0x47, 0x34, 0x22, 0x20 }; in serverworks_set_piomode() local
203 int pio = adev->pio_mode - XFER_PIO_0; in serverworks_set_piomode()
205 pci_write_config_byte(pdev, 0x40 + offset, pio_mode[pio]); in serverworks_set_piomode()
Dpata_efar.c85 unsigned int pio = adev->pio_mode - XFER_PIO_0; in efar_set_piomode()
209 if (adev->pio_mode < needed_pio[mwdma]) in efar_set_dmamode()
Dpata_it8213.c76 unsigned int pio = adev->pio_mode - XFER_PIO_0; in it8213_set_piomode()
204 if (adev->pio_mode < needed_pio[mwdma]) in it8213_set_dmamode()
Dpata_cs5536.c176 int mode = adev->pio_mode - XFER_PIO_0; in cs5536_set_piomode()
182 cmdmode = min(mode, pair->pio_mode - XFER_PIO_0); in cs5536_set_piomode()
Dpata_cmd640.c62 if (ata_timing_compute(adev, adev->pio_mode, &t, T, 0) < 0) { in cmd640_set_piomode()
71 ata_timing_compute(pair, pair->pio_mode, &p, T, 1); in cmd640_set_piomode()
Dpata_atiixp.c135 atiixp_set_pio_timing(ap, adev, adev->pio_mode - XFER_PIO_0); in atiixp_set_piomode()
194 if (adev->pio_mode != wanted_pio) in atiixp_set_dmamode()
Dpata_rdc.c103 unsigned int pio = adev->pio_mode - XFER_PIO_0; in rdc_set_piomode()
258 if (adev->pio_mode < needed_pio[mwdma]) in rdc_set_dmamode()
Dpata_ali.c213 ata_timing_compute(adev, adev->pio_mode, &t, T, 1); in ali_set_piomode()
216 ata_timing_compute(pair, pair->pio_mode, &p, T, 1); in ali_set_piomode()
265 ata_timing_compute(pair, pair->pio_mode, &p, T, 1); in ali_set_dmamode()
Dpata_atp867x.c218 u8 speed = adev->pio_mode; in atp867x_set_piomode()
227 if (peer && peer->pio_mode) { in atp867x_set_piomode()
228 ata_timing_compute(peer, peer->pio_mode, &p, T, UT); in atp867x_set_piomode()
Dpata_rz1000.c42 dev->pio_mode = XFER_PIO_0; in rz1000_set_mode()
Dpata_piccolo.c40 conf |= pio[adev->pio_mode - XFER_PIO_0]; in tosh_set_piomode()
Dpata_sch.c111 unsigned int pio = adev->pio_mode - XFER_PIO_0; in sch_set_piomode()
Dpata_via.c270 if (peer->pio_mode) { in via_do_set_mode()
271 ata_timing_compute(peer, peer->pio_mode, &p, T, UT); in via_do_set_mode()
334 via_do_set_mode(ap, adev, adev->pio_mode, set_ast, config->udma_mask); in via_set_piomode()
Dpata_cypress.c59 if (ata_timing_compute(adev, adev->pio_mode, &t, T, 1) < 0) { in cy82c693_set_piomode()
Dpata_sis.c231 int speed = adev->pio_mode - XFER_PIO_0; in sis_old_set_piomode()
267 int speed = adev->pio_mode - XFER_PIO_0; in sis_100_set_piomode()
293 int speed = adev->pio_mode - XFER_PIO_0; in sis_133_set_piomode()
Dpata_ninja32.c63 iowrite8(pio_timing[adev->pio_mode - XFER_PIO_0], in ninja32_set_piomode()
Dpata_cmd64x.c127 ata_timing_compute(pair, pair->pio_mode, &tp, T, 0); in cmd64x_set_timing()
179 cmd64x_set_timing(ap, adev, adev->pio_mode); in cmd64x_set_piomode()
Dpata_sc1200.c101 int mode = adev->pio_mode - XFER_PIO_0; in sc1200_set_piomode()
Dpata_ixp4xx_cf.c35 dev->pio_mode = XFER_PIO_0; in ixp4xx_set_mode()
Data_generic.c67 dev->pio_mode = XFER_PIO_0; in generic_set_mode()
Dpata_macio.c398 adev->pio_mode, in pata_macio_set_timings()
399 ata_mode_string(ata_xfer_mode2mask(adev->pio_mode)), in pata_macio_set_timings()
407 t = pata_macio_find_timing(priv, adev->pio_mode); in pata_macio_set_timings()
410 adev->pio_mode); in pata_macio_set_timings()
Dpata_platform.c38 dev->pio_mode = dev->xfer_mode = XFER_PIO_0; in pata_platform_set_mode()
Dpata_cs5530.c72 iowrite32(cs5530_pio_timings[format][adev->pio_mode - XFER_PIO_0], base); in cs5530_set_piomode()
Dpata_pdc2027x.c298 unsigned int pio = adev->pio_mode - XFER_PIO_0; in pdc2027x_set_piomode()
301 PDPRINTK("adev->pio_mode[%X]\n", adev->pio_mode); in pdc2027x_set_piomode()
Dpata_hpt3x3.c47 r1 |= (adev->pio_mode - XFER_PIO_0) << (3 * dn); in hpt3x3_set_piomode()
Dpata_acpi.c121 t = ata_timing_find_mode(adev->pio_mode); in pacpi_set_piomode()
Dpata_hpt366.c268 hpt366_set_mode(ap, adev, adev->pio_mode); in hpt366_set_piomode()
Dpata_cs5520.c102 cs5520_set_timings(ap, adev, adev->pio_mode); in cs5520_set_piomode()
Dpata_imx.c51 dev->pio_mode = dev->xfer_mode = XFER_PIO_0; in pata_imx_set_mode()
Dpata_sl82c105.c102 sl82c105_configure_piomode(ap, adev, adev->pio_mode - XFER_PIO_0); in sl82c105_set_piomode()
Dpata_it821x.c263 int mode_wanted = adev->pio_mode - XFER_PIO_0; in it821x_passthru_set_piomode()
470 dev->pio_mode = XFER_PIO_0; in it821x_smart_set_mode()
Dpata_hpt37x.c451 hpt370_set_mode(ap, adev, adev->pio_mode); in hpt370_set_piomode()
545 hpt372_set_mode(ap, adev, adev->pio_mode); in hpt372_set_piomode()
Dlibata-transport.c468 ata_dev_attr(xfer, pio_mode);
752 SETUP_DEV_ATTRIBUTE(pio_mode); in ata_attach_transport()
Dpata_pdc202xx_old.c113 pdc202xx_configure_piomode(ap, adev, adev->pio_mode - XFER_PIO_0); in pdc202xx_set_piomode()
Dpata_at32.c158 ret = ata_timing_compute(adev, adev->pio_mode, &timing, 1000, 0); in pata_at32_set_piomode()
Dlibata-core.c1777 && (adev->pio_mode == XFER_PIO_5 || adev->pio_mode == XFER_PIO_6)) in ata_pio_need_iordy()
1780 if (adev->pio_mode > XFER_PIO_2) in ata_pio_need_iordy()
2597 dev->pio_mode = XFER_PIO_0; in ata_bus_probe()
3037 ata_timing_compute(adev, adev->pio_mode, &p, T, UT); in ata_timing_compute()
3244 dev->pio_mode <= XFER_PIO_2) in ata_dev_set_mode()
3249 if (!ata_id_has_iordy(dev->id) && dev->pio_mode <= XFER_PIO_2) in ata_dev_set_mode()
3329 dev->pio_mode = ata_xfer_mask2mode(pio_mask); in ata_do_set_mode()
3341 if (dev->pio_mode == 0xff) { in ata_do_set_mode()
3347 dev->xfer_mode = dev->pio_mode; in ata_do_set_mode()
Dpata_hpt3x2n.c222 hpt3x2n_set_mode(ap, adev, adev->pio_mode); in hpt3x2n_set_piomode()
Dpata_at91.c281 ret = ata_timing_compute(adev, adev->pio_mode, &timing, 1000, 0); in pata_at91_set_piomode()
Dsata_via.c409 pio_bits[adev->pio_mode - XFER_PIO_0]); in vt6421_set_pio_mode()
Data_piix.c601 if (adev->pio_mode < XFER_PIO_0 + pio) in piix_set_timings()
664 piix_set_timings(ap, adev, adev->pio_mode - XFER_PIO_0); in piix_set_piomode()
Dpata_samsung_cf.c121 ata_timing_compute(adev, adev->pio_mode, &timing, in pata_s3c_set_piomode()
Dpata_arasan_cf.c723 u8 pio = adev->pio_mode - XFER_PIO_0; in arasan_cf_set_piomode()
Dpata_mpc52xx.c395 pio = adev->pio_mode - XFER_PIO_0; in mpc52xx_ata_set_piomode()
Dlibata-eh.c2693 dev->pio_mode = XFER_PIO_0; in ata_eh_reset()
2856 dev->pio_mode = XFER_PIO_0; in ata_eh_reset()
3679 if (dev->pio_mode > XFER_PIO_0) in ata_eh_handle_dev_fail()
Dpata_octeon_cf.c155 if (ata_timing_compute(dev, dev->pio_mode, &timing, T, T)) in octeon_cf_set_piomode()
Dpata_bf54x.c291 int mode = adev->pio_mode - XFER_PIO_0; in bfin_set_piomode()
/linux-4.4.14/Documentation/ABI/testing/
Dsysfs-ata65 pio_mode
/linux-4.4.14/include/linux/
Dide.h527 u8 pio_mode; /* for ->set_pio_mode _only_ */ member
891 ide_decl_devset(pio_mode);
Dlibata.h698 u8 pio_mode; member
/linux-4.4.14/Documentation/filesystems/
Dproc.txt1070 pio_mode write-only 0 255 w