arch/alpha/math-emu/math.c
105
unsigned long res, va, vb, vc, swcr, fpcr;
arch/alpha/math-emu/math.c
174
vc = 0x4000000000000000UL;
arch/alpha/math-emu/math.c
184
case FOP_FNC_CMPxUN: if (res != 3) vc = 0; break;
arch/alpha/math-emu/math.c
185
case FOP_FNC_CMPxEQ: if (res) vc = 0; break;
arch/alpha/math-emu/math.c
186
case FOP_FNC_CMPxLT: if (res != -1) vc = 0; break;
arch/alpha/math-emu/math.c
187
case FOP_FNC_CMPxLE: if ((long)res > 0) vc = 0; break;
arch/alpha/math-emu/math.c
237
vc = 0;
arch/alpha/math-emu/math.c
239
FP_TO_INT_ROUND_D(vc, DB, 64, 2);
arch/alpha/math-emu/math.c
253
vc = ((vb & 0xc0000000) << 32 | /* sign and msb */
arch/alpha/math-emu/math.c
271
FP_PACK_SP(&vc, SR);
arch/alpha/math-emu/math.c
273
vc = 0;
arch/alpha/math-emu/math.c
274
alpha_write_fp_reg_s(fc, vc);
arch/alpha/math-emu/math.c
278
FP_PACK_DP(&vc, DR);
arch/alpha/math-emu/math.c
280
vc = 0;
arch/alpha/math-emu/math.c
282
alpha_write_fp_reg(fc, vc);
arch/arm/include/asm/assembler.h
207
.irp c,,eq,ne,cs,cc,mi,pl,vs,vc,hi,ls,ge,lt,gt,le,hs,lo
arch/arm/include/asm/assembler.h
546
.irp c,,eq,ne,cs,cc,mi,pl,vs,vc,hi,ls,ge,lt,gt,le,hs,lo
arch/arm/mach-omap2/vc.c
118
struct omap_vc_channel *vc = voltdm->vc;
arch/arm/mach-omap2/vc.c
124
if (vc->flags & OMAP_VC_CHANNEL_DEFAULT)
arch/arm/mach-omap2/vc.c
125
vc->cfg_channel &= vc_cfg_bits->racen;
arch/arm/mach-omap2/vc.c
127
voltdm->rmw(CFG_CHANNEL_MASK << vc->cfg_channel_sa_shift,
arch/arm/mach-omap2/vc.c
128
vc->cfg_channel << vc->cfg_channel_sa_shift,
arch/arm/mach-omap2/vc.c
129
vc->cfg_channel_reg);
arch/arm/mach-omap2/vc.c
139
struct omap_vc_channel *vc = voltdm->vc;
arch/arm/mach-omap2/vc.c
165
vc_cmdval = voltdm->read(vc->cmdval_reg);
arch/arm/mach-omap2/vc.c
166
vc_cmdval &= ~vc->common->cmd_on_mask;
arch/arm/mach-omap2/vc.c
167
vc_cmdval |= (*target_vsel << vc->common->cmd_on_shift);
arch/arm/mach-omap2/vc.c
168
voltdm->write(vc_cmdval, vc->cmdval_reg);
arch/arm/mach-omap2/vc.c
194
struct omap_vc_channel *vc = voltdm->vc;
arch/arm/mach-omap2/vc.c
204
vc_valid = vc->common->valid;
arch/arm/mach-omap2/vc.c
205
vc_bypass_val_reg = vc->common->bypass_val_reg;
arch/arm/mach-omap2/vc.c
206
vc_bypass_value = (target_vsel << vc->common->data_shift) |
arch/arm/mach-omap2/vc.c
207
(vc->volt_reg_addr << vc->common->regaddr_shift) |
arch/arm/mach-omap2/vc.c
208
(vc->i2c_slave_addr << vc->common->slaveaddr_shift);
arch/arm/mach-omap2/vc.c
257
static struct omap3_vc vc;
arch/arm/mach-omap2/vc.c
261
struct voltagedomain *vd = vc.vd;
arch/arm/mach-omap2/vc.c
262
struct omap3_vc_timings *c = vc.timings;
arch/arm/mach-omap2/vc.c
265
voltctrl = vc.voltctrl;
arch/arm/mach-omap2/vc.c
266
voltsetup1 = vc.voltsetup1;
arch/arm/mach-omap2/vc.c
267
voltsetup2 = vc.voltsetup2;
arch/arm/mach-omap2/vc.c
289
if (voltctrl != vc.voltctrl) {
arch/arm/mach-omap2/vc.c
291
vc.voltctrl = voltctrl;
arch/arm/mach-omap2/vc.c
293
if (voltsetup1 != vc.voltsetup1) {
arch/arm/mach-omap2/vc.c
296
vc.voltsetup1 = voltsetup1;
arch/arm/mach-omap2/vc.c
298
if (voltsetup2 != vc.voltsetup2) {
arch/arm/mach-omap2/vc.c
301
vc.voltsetup2 = voltsetup2;
arch/arm/mach-omap2/vc.c
307
struct voltagedomain *vd = vc.vd;
arch/arm/mach-omap2/vc.c
334
if (vc.vd)
arch/arm/mach-omap2/vc.c
337
vc.vd = voltdm;
arch/arm/mach-omap2/vc.c
367
vc.voltctrl = val;
arch/arm/mach-omap2/vc.c
402
struct omap3_vc_timings *c = vc.timings;
arch/arm/mach-omap2/vc.c
428
struct omap3_vc_timings *c = vc.timings;
arch/arm/mach-omap2/vc.c
589
if (vc.vd)
arch/arm/mach-omap2/vc.c
592
vc.vd = voltdm;
arch/arm/mach-omap2/vc.c
744
struct omap_vc_channel *vc = voltdm->vc;
arch/arm/mach-omap2/vc.c
765
voltdm->rmw(vc->common->i2c_cfg_clear_mask,
arch/arm/mach-omap2/vc.c
766
vc->common->i2c_cfg_hsen_mask,
arch/arm/mach-omap2/vc.c
767
vc->common->i2c_cfg_reg);
arch/arm/mach-omap2/vc.c
771
voltdm->rmw(vc->common->i2c_mcode_mask,
arch/arm/mach-omap2/vc.c
772
mcode << __ffs(vc->common->i2c_mcode_mask),
arch/arm/mach-omap2/vc.c
773
vc->common->i2c_cfg_reg);
arch/arm/mach-omap2/vc.c
807
struct omap_vc_channel *vc = voltdm->vc;
arch/arm/mach-omap2/vc.c
822
vc->cfg_channel = 0;
arch/arm/mach-omap2/vc.c
823
if (vc->flags & OMAP_VC_CHANNEL_CFG_MUTANT)
arch/arm/mach-omap2/vc.c
829
vc->i2c_slave_addr = voltdm->pmic->i2c_slave_addr;
arch/arm/mach-omap2/vc.c
830
vc->volt_reg_addr = voltdm->pmic->volt_reg_addr;
arch/arm/mach-omap2/vc.c
831
vc->cmd_reg_addr = voltdm->pmic->cmd_reg_addr;
arch/arm/mach-omap2/vc.c
834
voltdm->rmw(vc->smps_sa_mask,
arch/arm/mach-omap2/vc.c
835
vc->i2c_slave_addr << __ffs(vc->smps_sa_mask),
arch/arm/mach-omap2/vc.c
836
vc->smps_sa_reg);
arch/arm/mach-omap2/vc.c
837
vc->cfg_channel |= vc_cfg_bits->sa;
arch/arm/mach-omap2/vc.c
842
voltdm->rmw(vc->smps_volra_mask,
arch/arm/mach-omap2/vc.c
843
vc->volt_reg_addr << __ffs(vc->smps_volra_mask),
arch/arm/mach-omap2/vc.c
844
vc->smps_volra_reg);
arch/arm/mach-omap2/vc.c
845
vc->cfg_channel |= vc_cfg_bits->rav;
arch/arm/mach-omap2/vc.c
847
if (vc->cmd_reg_addr) {
arch/arm/mach-omap2/vc.c
848
voltdm->rmw(vc->smps_cmdra_mask,
arch/arm/mach-omap2/vc.c
849
vc->cmd_reg_addr << __ffs(vc->smps_cmdra_mask),
arch/arm/mach-omap2/vc.c
850
vc->smps_cmdra_reg);
arch/arm/mach-omap2/vc.c
851
vc->cfg_channel |= vc_cfg_bits->rac;
arch/arm/mach-omap2/vc.c
854
if (vc->cmd_reg_addr == vc->volt_reg_addr)
arch/arm/mach-omap2/vc.c
855
vc->cfg_channel |= vc_cfg_bits->racen;
arch/arm/mach-omap2/vc.c
863
val = ((on_vsel << vc->common->cmd_on_shift) |
arch/arm/mach-omap2/vc.c
864
(onlp_vsel << vc->common->cmd_onlp_shift) |
arch/arm/mach-omap2/vc.c
865
(ret_vsel << vc->common->cmd_ret_shift) |
arch/arm/mach-omap2/vc.c
866
(off_vsel << vc->common->cmd_off_shift));
arch/arm/mach-omap2/vc.c
867
voltdm->write(val, vc->cmdval_reg);
arch/arm/mach-omap2/vc.c
868
vc->cfg_channel |= vc_cfg_bits->cmd;
arch/arm/mach-omap2/voltage.c
261
if (voltdm->vc) {
arch/arm/mach-omap2/voltage.h
66
struct omap_vc_channel *vc;
arch/arm/mach-omap2/voltagedomains3xxx_data.c
54
.vc = &omap3_vc_mpu,
arch/arm/mach-omap2/voltagedomains3xxx_data.c
65
.vc = &omap3_vc_core,
arch/arm/mach-omap2/voltagedomains44xx_data.c
53
.vc = &omap4_vc_mpu,
arch/arm/mach-omap2/voltagedomains44xx_data.c
64
.vc = &omap4_vc_iva,
arch/arm/mach-omap2/voltagedomains44xx_data.c
75
.vc = &omap4_vc_core,
arch/arm/mach-omap2/voltagedomains54xx_data.c
39
.vc = &omap4_vc_mpu,
arch/arm/mach-omap2/voltagedomains54xx_data.c
50
.vc = &omap4_vc_iva,
arch/arm/mach-omap2/voltagedomains54xx_data.c
61
.vc = &omap4_vc_core,
arch/arm64/include/asm/vdso/compat_gettimeofday.h
161
static inline bool vdso_clocksource_ok(const struct vdso_clock *vc)
arch/arm64/include/asm/vdso/compat_gettimeofday.h
163
return vc->clock_mode == VDSO_CLOCKMODE_ARCHTIMER;
arch/arm64/include/asm/vdso/vsyscall.h
16
void __arch_update_vdso_clock(struct vdso_clock *vc)
arch/arm64/include/asm/vdso/vsyscall.h
18
vc->mask = VDSO_PRECISION_MASK;
arch/mips/math-emu/ieee754int.h
101
vc = IEEE754_CLASS_QNAN; \
arch/mips/math-emu/ieee754int.h
103
vc = IEEE754_CLASS_SNAN; \
arch/mips/math-emu/ieee754int.h
107
vc = IEEE754_CLASS_DNORM; \
arch/mips/math-emu/ieee754int.h
109
vc = IEEE754_CLASS_ZERO; \
arch/mips/math-emu/ieee754int.h
113
vc = IEEE754_CLASS_NORM; \
arch/mips/math-emu/ieee754int.h
120
#define FLUSHDP(v, vc, vs, ve, vm) \
arch/mips/math-emu/ieee754int.h
121
if (vc==IEEE754_CLASS_DNORM) { \
arch/mips/math-emu/ieee754int.h
124
vc = IEEE754_CLASS_ZERO; \
arch/mips/math-emu/ieee754int.h
131
#define FLUSHSP(v, vc, vs, ve, vm) \
arch/mips/math-emu/ieee754int.h
132
if (vc==IEEE754_CLASS_DNORM) { \
arch/mips/math-emu/ieee754int.h
135
vc = IEEE754_CLASS_ZERO; \
arch/mips/math-emu/ieee754int.h
54
#define EXPLODESP(v, vc, vs, ve, vm) \
arch/mips/math-emu/ieee754int.h
61
vc = IEEE754_CLASS_INF; \
arch/mips/math-emu/ieee754int.h
63
vc = IEEE754_CLASS_QNAN; \
arch/mips/math-emu/ieee754int.h
65
vc = IEEE754_CLASS_SNAN; \
arch/mips/math-emu/ieee754int.h
69
vc = IEEE754_CLASS_DNORM; \
arch/mips/math-emu/ieee754int.h
71
vc = IEEE754_CLASS_ZERO; \
arch/mips/math-emu/ieee754int.h
75
vc = IEEE754_CLASS_NORM; \
arch/mips/math-emu/ieee754int.h
92
#define EXPLODEDP(v, vc, vs, ve, vm) \
arch/mips/math-emu/ieee754int.h
99
vc = IEEE754_CLASS_INF; \
arch/powerpc/include/asm/kvm_book3s_asm.h
73
struct kvmppc_vcore *vc[MAX_SUBCORES];
arch/powerpc/include/asm/kvm_host.h
340
#define VCORE_ENTRY_MAP(vc) ((vc)->entry_exit_map & 0xff)
arch/powerpc/include/asm/kvm_host.h
341
#define VCORE_EXIT_MAP(vc) ((vc)->entry_exit_map >> 8)
arch/powerpc/include/asm/kvm_host.h
342
#define VCORE_IS_EXITING(vc) (VCORE_EXIT_MAP(vc) != 0)
arch/powerpc/include/asm/vdso/gettimeofday.h
103
static inline bool vdso_clocksource_ok(const struct vdso_clock *vc)
arch/powerpc/kernel/vecemu.c
266
unsigned int va, vb, vc, vd;
arch/powerpc/kernel/vecemu.c
278
vc = (word >> 6) & 0x1f;
arch/powerpc/kernel/vecemu.c
283
switch (vc) {
arch/powerpc/kernel/vecemu.c
341
vmaddfp(&vrs[vd], &vrs[va], &vrs[vb], &vrs[vc]);
arch/powerpc/kernel/vecemu.c
344
vnmsubfp(&vrs[vd], &vrs[va], &vrs[vb], &vrs[vc]);
arch/powerpc/kvm/book3s_hv.c
162
static inline struct kvm_vcpu *next_runnable_thread(struct kvmppc_vcore *vc,
arch/powerpc/kvm/book3s_hv.c
169
vcpu = READ_ONCE(vc->runnable_threads[i]);
arch/powerpc/kvm/book3s_hv.c
179
#define for_each_runnable_thread(i, vcpu, vc) \
arch/powerpc/kvm/book3s_hv.c
180
for (i = -1; (vcpu = next_runnable_thread(vc, &i)); )
arch/powerpc/kvm/book3s_hv.c
2184
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv.c
2187
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
2203
(vc->lpcr & ~mask) | (new_lpcr & mask));
arch/powerpc/kvm/book3s_hv.c
2209
if ((new_lpcr & LPCR_ILE) != (vc->lpcr & LPCR_ILE)) {
arch/powerpc/kvm/book3s_hv.c
2214
if (vcpu->arch.vcore != vc)
arch/powerpc/kvm/book3s_hv.c
2223
vc->lpcr = new_lpcr;
arch/powerpc/kvm/book3s_hv.c
2226
spin_unlock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
292
static void kvmppc_core_start_stolen(struct kvmppc_vcore *vc, u64 tb)
arch/powerpc/kvm/book3s_hv.c
298
spin_lock_irqsave(&vc->stoltb_lock, flags);
arch/powerpc/kvm/book3s_hv.c
299
vc->preempt_tb = tb;
arch/powerpc/kvm/book3s_hv.c
300
spin_unlock_irqrestore(&vc->stoltb_lock, flags);
arch/powerpc/kvm/book3s_hv.c
303
static void kvmppc_core_end_stolen(struct kvmppc_vcore *vc, u64 tb)
arch/powerpc/kvm/book3s_hv.c
309
spin_lock_irqsave(&vc->stoltb_lock, flags);
arch/powerpc/kvm/book3s_hv.c
310
if (vc->preempt_tb != TB_NIL) {
arch/powerpc/kvm/book3s_hv.c
311
vc->stolen_tb += tb - vc->preempt_tb;
arch/powerpc/kvm/book3s_hv.c
312
vc->preempt_tb = TB_NIL;
arch/powerpc/kvm/book3s_hv.c
314
spin_unlock_irqrestore(&vc->stoltb_lock, flags);
arch/powerpc/kvm/book3s_hv.c
3174
static void kvmppc_remove_runnable(struct kvmppc_vcore *vc,
arch/powerpc/kvm/book3s_hv.c
3183
vcpu->arch.busy_stolen += vcore_stolen_time(vc, now) -
arch/powerpc/kvm/book3s_hv.c
3188
--vc->n_runnable;
arch/powerpc/kvm/book3s_hv.c
3189
WRITE_ONCE(vc->runnable_threads[vcpu->arch.ptid], NULL);
arch/powerpc/kvm/book3s_hv.c
319
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv.c
326
vc->stolen_tb += mftb() - vcpu->arch.busy_preempt;
arch/powerpc/kvm/book3s_hv.c
3333
static void kvmppc_start_thread(struct kvm_vcpu *vcpu, struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
3338
cpu = vc->pcpu;
arch/powerpc/kvm/book3s_hv.c
3345
vcpu->cpu = vc->pcpu;
arch/powerpc/kvm/book3s_hv.c
3350
tpaca->kvm_hstate.ptid = cpu - vc->pcpu;
arch/powerpc/kvm/book3s_hv.c
3354
tpaca->kvm_hstate.kvm_vcore = vc;
arch/powerpc/kvm/book3s_hv.c
340
if (vc->runner == vcpu && vc->vcore_state >= VCORE_SLEEPING)
arch/powerpc/kvm/book3s_hv.c
341
kvmppc_core_end_stolen(vc, now);
arch/powerpc/kvm/book3s_hv.c
3443
static void kvmppc_vcore_preempt(struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
3449
vc->vcore_state = VCORE_PREEMPT;
arch/powerpc/kvm/book3s_hv.c
3450
vc->pcpu = smp_processor_id();
arch/powerpc/kvm/book3s_hv.c
3451
if (vc->num_threads < threads_per_vcore(vc->kvm)) {
arch/powerpc/kvm/book3s_hv.c
3453
list_add_tail(&vc->preempt_list, &lp->list);
arch/powerpc/kvm/book3s_hv.c
3458
kvmppc_core_start_stolen(vc, mftb());
arch/powerpc/kvm/book3s_hv.c
3461
static void kvmppc_vcore_end_preempt(struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
3467
kvmppc_core_end_stolen(vc, mftb());
arch/powerpc/kvm/book3s_hv.c
3468
if (!list_empty(&vc->preempt_list)) {
arch/powerpc/kvm/book3s_hv.c
3469
lp = &per_cpu(preempted_vcores, vc->pcpu);
arch/powerpc/kvm/book3s_hv.c
3471
list_del_init(&vc->preempt_list);
arch/powerpc/kvm/book3s_hv.c
3474
vc->vcore_state = VCORE_INACTIVE;
arch/powerpc/kvm/book3s_hv.c
3486
struct kvmppc_vcore *vc[MAX_SUBCORES];
arch/powerpc/kvm/book3s_hv.c
3495
static void init_core_info(struct core_info *cip, struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
3499
cip->max_subcore_threads = vc->num_threads;
arch/powerpc/kvm/book3s_hv.c
3500
cip->total_threads = vc->num_threads;
arch/powerpc/kvm/book3s_hv.c
3501
cip->subcore_threads[0] = vc->num_threads;
arch/powerpc/kvm/book3s_hv.c
3502
cip->vc[0] = vc;
arch/powerpc/kvm/book3s_hv.c
3529
static void init_vcore_to_run(struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
3531
vc->entry_exit_map = 0;
arch/powerpc/kvm/book3s_hv.c
3532
vc->in_guest = 0;
arch/powerpc/kvm/book3s_hv.c
3533
vc->napping_threads = 0;
arch/powerpc/kvm/book3s_hv.c
3534
vc->conferring_threads = 0;
arch/powerpc/kvm/book3s_hv.c
3535
vc->tb_offset_applied = 0;
arch/powerpc/kvm/book3s_hv.c
3538
static bool can_dynamic_split(struct kvmppc_vcore *vc, struct core_info *cip)
arch/powerpc/kvm/book3s_hv.c
354
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv.c
3540
int n_threads = vc->num_threads;
arch/powerpc/kvm/book3s_hv.c
3547
if (one_vm_per_core && vc->kvm != cip->vc[0]->kvm)
arch/powerpc/kvm/book3s_hv.c
3558
cip->total_threads += vc->num_threads;
arch/powerpc/kvm/book3s_hv.c
3559
cip->subcore_threads[sub] = vc->num_threads;
arch/powerpc/kvm/book3s_hv.c
3560
cip->vc[sub] = vc;
arch/powerpc/kvm/book3s_hv.c
3561
init_vcore_to_run(vc);
arch/powerpc/kvm/book3s_hv.c
3562
list_del_init(&vc->preempt_list);
arch/powerpc/kvm/book3s_hv.c
3580
static void prepare_threads(struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
3585
for_each_runnable_thread(i, vcpu, vc) {
arch/powerpc/kvm/book3s_hv.c
3594
kvmppc_remove_runnable(vc, vcpu, mftb());
arch/powerpc/kvm/book3s_hv.c
3634
struct kvmppc_vcore *vc;
arch/powerpc/kvm/book3s_hv.c
3637
vc = cip->vc[sub];
arch/powerpc/kvm/book3s_hv.c
3638
if (!vc->kvm->arch.mmu_ready)
arch/powerpc/kvm/book3s_hv.c
3640
for_each_runnable_thread(i, vcpu, vc)
arch/powerpc/kvm/book3s_hv.c
3647
static void post_guest_process(struct kvmppc_vcore *vc, bool is_master)
arch/powerpc/kvm/book3s_hv.c
3654
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
3656
for_each_runnable_thread(i, vcpu, vc) {
arch/powerpc/kvm/book3s_hv.c
3664
spin_unlock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
3680
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
3689
kvmppc_remove_runnable(vc, vcpu, mftb());
arch/powerpc/kvm/book3s_hv.c
3695
kvmppc_vcore_preempt(vc);
arch/powerpc/kvm/book3s_hv.c
3696
} else if (vc->runner) {
arch/powerpc/kvm/book3s_hv.c
3697
vc->vcore_state = VCORE_PREEMPT;
arch/powerpc/kvm/book3s_hv.c
3698
kvmppc_core_start_stolen(vc, mftb());
arch/powerpc/kvm/book3s_hv.c
3700
vc->vcore_state = VCORE_INACTIVE;
arch/powerpc/kvm/book3s_hv.c
3702
if (vc->n_runnable > 0 && vc->runner == NULL) {
arch/powerpc/kvm/book3s_hv.c
3705
vcpu = next_runnable_thread(vc, &i);
arch/powerpc/kvm/book3s_hv.c
3709
spin_unlock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
376
if (vc->runner == vcpu && vc->vcore_state >= VCORE_SLEEPING)
arch/powerpc/kvm/book3s_hv.c
377
kvmppc_core_start_stolen(vc, now);
arch/powerpc/kvm/book3s_hv.c
3776
static noinline void kvmppc_run_core(struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
3801
prepare_threads(vc);
arch/powerpc/kvm/book3s_hv.c
3804
if (vc->runner->arch.state != KVMPPC_VCPU_RUNNABLE)
arch/powerpc/kvm/book3s_hv.c
3810
init_vcore_to_run(vc);
arch/powerpc/kvm/book3s_hv.c
3811
vc->preempt_tb = TB_NIL;
arch/powerpc/kvm/book3s_hv.c
3818
controlled_threads = threads_per_vcore(vc->kvm);
arch/powerpc/kvm/book3s_hv.c
3826
((vc->num_threads > threads_per_subcore) || !on_primary_thread())) {
arch/powerpc/kvm/book3s_hv.c
3827
for_each_runnable_thread(i, vcpu, vc) {
arch/powerpc/kvm/book3s_hv.c
3829
kvmppc_remove_runnable(vc, vcpu, mftb());
arch/powerpc/kvm/book3s_hv.c
3839
init_core_info(&core_info, vc);
arch/powerpc/kvm/book3s_hv.c
3844
if (vc->num_threads < target_threads)
arch/powerpc/kvm/book3s_hv.c
3859
vc->vcore_state = VCORE_INACTIVE;
arch/powerpc/kvm/book3s_hv.c
3862
pvc = core_info.vc[sub];
arch/powerpc/kvm/book3s_hv.c
3885
split_info.vc[sub] = core_info.vc[sub];
arch/powerpc/kvm/book3s_hv.c
3939
int n_online = atomic_read(&vc->online_count);
arch/powerpc/kvm/book3s_hv.c
3957
pvc = core_info.vc[sub];
arch/powerpc/kvm/book3s_hv.c
4001
vc->vcore_state = VCORE_RUNNING;
arch/powerpc/kvm/book3s_hv.c
4004
trace_kvmppc_run_core(vc, 0);
arch/powerpc/kvm/book3s_hv.c
4007
spin_unlock(&core_info.vc[sub]->lock);
arch/powerpc/kvm/book3s_hv.c
4011
srcu_idx = srcu_read_lock(&vc->kvm->srcu);
arch/powerpc/kvm/book3s_hv.c
4021
srcu_read_unlock(&vc->kvm->srcu, srcu_idx);
arch/powerpc/kvm/book3s_hv.c
4025
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4027
vc->vcore_state = VCORE_EXITING;
arch/powerpc/kvm/book3s_hv.c
4075
spin_unlock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4083
pvc = core_info.vc[sub];
arch/powerpc/kvm/book3s_hv.c
4084
post_guest_process(pvc, pvc == vc);
arch/powerpc/kvm/book3s_hv.c
4087
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4090
vc->vcore_state = VCORE_INACTIVE;
arch/powerpc/kvm/book3s_hv.c
4091
trace_kvmppc_run_core(vc, 1);
arch/powerpc/kvm/book3s_hv.c
417
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv.c
4520
static void kvmppc_wait_for_exec(struct kvmppc_vcore *vc,
arch/powerpc/kvm/book3s_hv.c
4527
spin_unlock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4529
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4534
static void grow_halt_poll_ns(struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
4539
vc->halt_poll_ns *= halt_poll_ns_grow;
arch/powerpc/kvm/book3s_hv.c
4540
if (vc->halt_poll_ns < halt_poll_ns_grow_start)
arch/powerpc/kvm/book3s_hv.c
4541
vc->halt_poll_ns = halt_poll_ns_grow_start;
arch/powerpc/kvm/book3s_hv.c
4544
static void shrink_halt_poll_ns(struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
4547
vc->halt_poll_ns = 0;
arch/powerpc/kvm/book3s_hv.c
4549
vc->halt_poll_ns /= halt_poll_ns_shrink;
arch/powerpc/kvm/book3s_hv.c
4587
static int kvmppc_vcore_check_block(struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
4592
for_each_runnable_thread(i, vcpu, vc) {
arch/powerpc/kvm/book3s_hv.c
4604
static void kvmppc_vcore_blocked(struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
4614
if (vc->halt_poll_ns) {
arch/powerpc/kvm/book3s_hv.c
4615
ktime_t stop = ktime_add_ns(start_poll, vc->halt_poll_ns);
arch/powerpc/kvm/book3s_hv.c
4616
++vc->runner->stat.generic.halt_attempted_poll;
arch/powerpc/kvm/book3s_hv.c
4618
vc->vcore_state = VCORE_POLLING;
arch/powerpc/kvm/book3s_hv.c
4619
spin_unlock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4622
if (kvmppc_vcore_check_block(vc)) {
arch/powerpc/kvm/book3s_hv.c
4629
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4630
vc->vcore_state = VCORE_INACTIVE;
arch/powerpc/kvm/book3s_hv.c
4633
++vc->runner->stat.generic.halt_successful_poll;
arch/powerpc/kvm/book3s_hv.c
4638
prepare_to_rcuwait(&vc->wait);
arch/powerpc/kvm/book3s_hv.c
4640
if (kvmppc_vcore_check_block(vc)) {
arch/powerpc/kvm/book3s_hv.c
4641
finish_rcuwait(&vc->wait);
arch/powerpc/kvm/book3s_hv.c
4644
if (vc->halt_poll_ns)
arch/powerpc/kvm/book3s_hv.c
4645
++vc->runner->stat.generic.halt_successful_poll;
arch/powerpc/kvm/book3s_hv.c
4651
vc->vcore_state = VCORE_SLEEPING;
arch/powerpc/kvm/book3s_hv.c
4652
trace_kvmppc_vcore_blocked(vc->runner, 0);
arch/powerpc/kvm/book3s_hv.c
4653
spin_unlock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4655
finish_rcuwait(&vc->wait);
arch/powerpc/kvm/book3s_hv.c
4656
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4657
vc->vcore_state = VCORE_INACTIVE;
arch/powerpc/kvm/book3s_hv.c
4658
trace_kvmppc_vcore_blocked(vc->runner, 1);
arch/powerpc/kvm/book3s_hv.c
4659
++vc->runner->stat.halt_successful_wait;
arch/powerpc/kvm/book3s_hv.c
4668
vc->runner->stat.generic.halt_wait_ns +=
arch/powerpc/kvm/book3s_hv.c
4671
vc->runner->stat.generic.halt_wait_hist,
arch/powerpc/kvm/book3s_hv.c
4674
if (vc->halt_poll_ns) {
arch/powerpc/kvm/book3s_hv.c
4675
vc->runner->stat.generic.halt_poll_fail_ns +=
arch/powerpc/kvm/book3s_hv.c
4679
vc->runner->stat.generic.halt_poll_fail_hist,
arch/powerpc/kvm/book3s_hv.c
4685
if (vc->halt_poll_ns) {
arch/powerpc/kvm/book3s_hv.c
4686
vc->runner->stat.generic.halt_poll_success_ns +=
arch/powerpc/kvm/book3s_hv.c
4690
vc->runner->stat.generic.halt_poll_success_hist,
arch/powerpc/kvm/book3s_hv.c
4697
if (block_ns <= vc->halt_poll_ns)
arch/powerpc/kvm/book3s_hv.c
4700
else if (vc->halt_poll_ns && block_ns > halt_poll_ns)
arch/powerpc/kvm/book3s_hv.c
4701
shrink_halt_poll_ns(vc);
arch/powerpc/kvm/book3s_hv.c
4703
else if (vc->halt_poll_ns < halt_poll_ns &&
arch/powerpc/kvm/book3s_hv.c
4705
grow_halt_poll_ns(vc);
arch/powerpc/kvm/book3s_hv.c
4706
if (vc->halt_poll_ns > halt_poll_ns)
arch/powerpc/kvm/book3s_hv.c
4707
vc->halt_poll_ns = halt_poll_ns;
arch/powerpc/kvm/book3s_hv.c
4709
vc->halt_poll_ns = 0;
arch/powerpc/kvm/book3s_hv.c
472
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
473
vc->arch_compat = arch_compat;
arch/powerpc/kvm/book3s_hv.c
4741
struct kvmppc_vcore *vc;
arch/powerpc/kvm/book3s_hv.c
4754
vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv.c
4755
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4758
vcpu->arch.stolen_logged = vcore_stolen_time(vc, mftb());
arch/powerpc/kvm/book3s_hv.c
4761
WRITE_ONCE(vc->runnable_threads[vcpu->arch.ptid], vcpu);
arch/powerpc/kvm/book3s_hv.c
4762
++vc->n_runnable;
arch/powerpc/kvm/book3s_hv.c
4770
if ((vc->vcore_state == VCORE_PIGGYBACK ||
arch/powerpc/kvm/book3s_hv.c
4771
vc->vcore_state == VCORE_RUNNING) &&
arch/powerpc/kvm/book3s_hv.c
4772
!VCORE_IS_EXITING(vc)) {
arch/powerpc/kvm/book3s_hv.c
4773
kvmppc_update_vpa_dispatch(vcpu, vc);
arch/powerpc/kvm/book3s_hv.c
4774
kvmppc_start_thread(vcpu, vc);
arch/powerpc/kvm/book3s_hv.c
4776
} else if (vc->vcore_state == VCORE_SLEEPING) {
arch/powerpc/kvm/book3s_hv.c
4777
rcuwait_wake_up(&vc->wait);
arch/powerpc/kvm/book3s_hv.c
4786
spin_unlock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4788
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
479
vc->pcr = (host_pcr_bit - guest_pcr_bit) | PCR_MASK;
arch/powerpc/kvm/book3s_hv.c
4798
if (vc->vcore_state == VCORE_PREEMPT && vc->runner == NULL)
arch/powerpc/kvm/book3s_hv.c
4799
kvmppc_vcore_end_preempt(vc);
arch/powerpc/kvm/book3s_hv.c
480
spin_unlock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4801
if (vc->vcore_state != VCORE_INACTIVE) {
arch/powerpc/kvm/book3s_hv.c
4802
kvmppc_wait_for_exec(vc, vcpu, TASK_INTERRUPTIBLE);
arch/powerpc/kvm/book3s_hv.c
4805
for_each_runnable_thread(i, v, vc) {
arch/powerpc/kvm/book3s_hv.c
4808
kvmppc_remove_runnable(vc, v, mftb());
arch/powerpc/kvm/book3s_hv.c
4815
if (!vc->n_runnable || vcpu->arch.state != KVMPPC_VCPU_RUNNABLE)
arch/powerpc/kvm/book3s_hv.c
4818
for_each_runnable_thread(i, v, vc) {
arch/powerpc/kvm/book3s_hv.c
4824
vc->runner = vcpu;
arch/powerpc/kvm/book3s_hv.c
4825
if (n_ceded == vc->n_runnable) {
arch/powerpc/kvm/book3s_hv.c
4826
kvmppc_vcore_blocked(vc);
arch/powerpc/kvm/book3s_hv.c
4828
kvmppc_vcore_preempt(vc);
arch/powerpc/kvm/book3s_hv.c
4830
cond_resched_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4831
if (vc->vcore_state == VCORE_PREEMPT)
arch/powerpc/kvm/book3s_hv.c
4832
kvmppc_vcore_end_preempt(vc);
arch/powerpc/kvm/book3s_hv.c
4834
kvmppc_run_core(vc);
arch/powerpc/kvm/book3s_hv.c
4836
vc->runner = NULL;
arch/powerpc/kvm/book3s_hv.c
4840
(vc->vcore_state == VCORE_RUNNING ||
arch/powerpc/kvm/book3s_hv.c
4841
vc->vcore_state == VCORE_EXITING ||
arch/powerpc/kvm/book3s_hv.c
4842
vc->vcore_state == VCORE_PIGGYBACK))
arch/powerpc/kvm/book3s_hv.c
4843
kvmppc_wait_for_exec(vc, vcpu, TASK_UNINTERRUPTIBLE);
arch/powerpc/kvm/book3s_hv.c
4845
if (vc->vcore_state == VCORE_PREEMPT && vc->runner == NULL)
arch/powerpc/kvm/book3s_hv.c
4846
kvmppc_vcore_end_preempt(vc);
arch/powerpc/kvm/book3s_hv.c
4849
kvmppc_remove_runnable(vc, vcpu, mftb());
arch/powerpc/kvm/book3s_hv.c
4855
if (vc->n_runnable && vc->vcore_state == VCORE_INACTIVE) {
arch/powerpc/kvm/book3s_hv.c
4858
v = next_runnable_thread(vc, &i);
arch/powerpc/kvm/book3s_hv.c
4863
spin_unlock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
4874
struct kvmppc_vcore *vc;
arch/powerpc/kvm/book3s_hv.c
4886
vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv.c
4924
vc->pcpu = pcpu;
arch/powerpc/kvm/book3s_hv.c
4978
kvmppc_update_vpa_dispatch_p9(vcpu, vc, tb + kvmppc_get_tb_offset(vcpu));
arch/powerpc/kvm/book3s_hv.c
5423
struct kvmppc_vcore *vc = kvm->arch.vcores[i];
arch/powerpc/kvm/book3s_hv.c
5424
if (!vc)
arch/powerpc/kvm/book3s_hv.c
5427
spin_lock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
5428
vc->lpcr = (vc->lpcr & ~mask) | lpcr;
arch/powerpc/kvm/book3s_hv.c
5429
verify_lpcr(kvm, vc->lpcr);
arch/powerpc/kvm/book3s_hv.c
5430
spin_unlock(&vc->lock);
arch/powerpc/kvm/book3s_hv.c
775
static u64 vcore_stolen_time(struct kvmppc_vcore *vc, u64 now)
arch/powerpc/kvm/book3s_hv.c
782
spin_lock_irqsave(&vc->stoltb_lock, flags);
arch/powerpc/kvm/book3s_hv.c
783
p = vc->stolen_tb;
arch/powerpc/kvm/book3s_hv.c
784
if (vc->vcore_state != VCORE_INACTIVE &&
arch/powerpc/kvm/book3s_hv.c
785
vc->preempt_tb != TB_NIL)
arch/powerpc/kvm/book3s_hv.c
786
p += now - vc->preempt_tb;
arch/powerpc/kvm/book3s_hv.c
787
spin_unlock_irqrestore(&vc->stoltb_lock, flags);
arch/powerpc/kvm/book3s_hv.c
826
struct kvmppc_vcore *vc)
arch/powerpc/kvm/book3s_hv.c
840
core_stolen = vcore_stolen_time(vc, now);
arch/powerpc/kvm/book3s_hv.c
850
__kvmppc_create_dtl_entry(vcpu, vpa, vc->pcpu, now + kvmppc_get_tb_offset(vcpu), stolen);
arch/powerpc/kvm/book3s_hv.c
856
struct kvmppc_vcore *vc,
arch/powerpc/kvm/book3s_hv.c
867
stolen = vc->stolen_tb;
arch/powerpc/kvm/book3s_hv.c
873
__kvmppc_create_dtl_entry(vcpu, vpa, vc->pcpu, now, stolen_delta);
arch/powerpc/kvm/book3s_hv.c
882
struct kvmppc_vcore *vc;
arch/powerpc/kvm/book3s_hv.c
894
vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv.c
895
thr = vcpu->vcpu_id - vc->first_vcpuid;
arch/powerpc/kvm/book3s_hv.c
896
return !!(vc->dpdes & (1 << thr));
arch/powerpc/kvm/book3s_hv_builtin.c
113
struct kvmppc_vcore *vc = local_paca->kvm_hstate.kvm_vcore;
arch/powerpc/kvm/book3s_hv_builtin.c
121
set_bit(ptid, &vc->conferring_threads);
arch/powerpc/kvm/book3s_hv_builtin.c
122
while ((get_tb() < stop) && !VCORE_IS_EXITING(vc)) {
arch/powerpc/kvm/book3s_hv_builtin.c
123
threads_running = VCORE_ENTRY_MAP(vc);
arch/powerpc/kvm/book3s_hv_builtin.c
124
threads_ceded = vc->napping_threads;
arch/powerpc/kvm/book3s_hv_builtin.c
125
threads_conferring = vc->conferring_threads;
arch/powerpc/kvm/book3s_hv_builtin.c
131
clear_bit(ptid, &vc->conferring_threads);
arch/powerpc/kvm/book3s_hv_builtin.c
239
static void kvmhv_interrupt_vcore(struct kvmppc_vcore *vc, int active)
arch/powerpc/kvm/book3s_hv_builtin.c
241
int cpu = vc->pcpu;
arch/powerpc/kvm/book3s_hv_builtin.c
252
struct kvmppc_vcore *vc = local_paca->kvm_hstate.kvm_vcore;
arch/powerpc/kvm/book3s_hv_builtin.c
261
ee = vc->entry_exit_map;
arch/powerpc/kvm/book3s_hv_builtin.c
262
} while (cmpxchg(&vc->entry_exit_map, ee, ee | me) != ee);
arch/powerpc/kvm/book3s_hv_builtin.c
274
kvmhv_interrupt_vcore(vc, ee & ~(1 << ptid));
arch/powerpc/kvm/book3s_hv_builtin.c
284
vc = sip->vc[i];
arch/powerpc/kvm/book3s_hv_builtin.c
285
if (!vc)
arch/powerpc/kvm/book3s_hv_builtin.c
288
ee = vc->entry_exit_map;
arch/powerpc/kvm/book3s_hv_builtin.c
292
} while (cmpxchg(&vc->entry_exit_map, ee,
arch/powerpc/kvm/book3s_hv_builtin.c
295
kvmhv_interrupt_vcore(vc, ee);
arch/powerpc/kvm/book3s_hv_nested.c
106
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv_nested.c
112
hr->vtb = vc->vtb;
arch/powerpc/kvm/book3s_hv_nested.c
143
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv_nested.c
145
vc->pcr = hr->pcr | PCR_MASK;
arch/powerpc/kvm/book3s_hv_nested.c
154
vc->vtb = hr->vtb;
arch/powerpc/kvm/book3s_hv_nested.c
171
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv_nested.c
184
vc->vtb = hr->vtb;
arch/powerpc/kvm/book3s_hv_nested.c
263
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv_nested.c
278
(vc->lpcr & ~mask) | (*lpcr & mask));
arch/powerpc/kvm/book3s_hv_nested.c
301
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv_nested.c
32
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv_nested.c
34
hr->pcr = vc->pcr | PCR_MASK;
arch/powerpc/kvm/book3s_hv_nested.c
365
hdec_exp = l2_hv.hdec_expiry - vc->tb_offset;
arch/powerpc/kvm/book3s_hv_nested.c
366
vc->tb_offset += l2_hv.tb_offset;
arch/powerpc/kvm/book3s_hv_nested.c
37
hr->tb_offset = vc->tb_offset;
arch/powerpc/kvm/book3s_hv_nested.c
393
delta_vtb = vc->vtb - l2_hv.vtb;
arch/powerpc/kvm/book3s_hv_nested.c
403
vc->tb_offset = saved_l1_hv.tb_offset;
arch/powerpc/kvm/book3s_hv_nested.c
410
vc->vtb += delta_vtb;
arch/powerpc/kvm/book3s_hv_nested.c
44
hr->vtb = vc->vtb;
arch/powerpc/kvm/book3s_hv_p9_entry.c
222
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv_p9_entry.c
224
u64 tb = mftb() - vc->tb_offset_applied;
arch/powerpc/kvm/book3s_hv_p9_entry.c
537
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv_p9_entry.c
596
if (vc->tb_offset) {
arch/powerpc/kvm/book3s_hv_p9_entry.c
597
u64 new_tb = *tb + vc->tb_offset;
arch/powerpc/kvm/book3s_hv_p9_entry.c
604
vc->tb_offset_applied = vc->tb_offset;
arch/powerpc/kvm/book3s_hv_p9_entry.c
607
mtspr(SPRN_VTB, vc->vtb);
arch/powerpc/kvm/book3s_hv_p9_entry.c
611
if (vc->pcr)
arch/powerpc/kvm/book3s_hv_p9_entry.c
612
mtspr(SPRN_PCR, vc->pcr | PCR_MASK);
arch/powerpc/kvm/book3s_hv_p9_entry.c
703
check_need_tlb_flush(kvm, vc->pcpu, nested);
arch/powerpc/kvm/book3s_hv_p9_entry.c
843
vc->vtb = mfspr(SPRN_VTB);
arch/powerpc/kvm/book3s_hv_p9_entry.c
851
if (vc->tb_offset_applied) {
arch/powerpc/kvm/book3s_hv_p9_entry.c
852
u64 new_tb = *tb - vc->tb_offset_applied;
arch/powerpc/kvm/book3s_hv_p9_entry.c
859
vc->tb_offset_applied = 0;
arch/powerpc/kvm/book3s_hv_p9_entry.c
906
if (vc->pcr)
arch/powerpc/kvm/book3s_hv_ras.c
143
struct kvmppc_vcore *vc = vcpu->arch.vcore;
arch/powerpc/kvm/book3s_hv_ras.c
156
if (vc->tb_offset_applied) {
arch/powerpc/kvm/book3s_hv_ras.c
157
u64 new_tb = mftb() - vc->tb_offset_applied;
arch/powerpc/kvm/book3s_hv_ras.c
163
vc->tb_offset_applied = 0;
arch/powerpc/kvm/book3s_hv_ras.c
178
u64 new_tb = mftb() + vc->tb_offset;
arch/powerpc/kvm/book3s_hv_ras.c
184
vc->tb_offset_applied = kvmppc_get_tb_offset(vcpu);
arch/powerpc/kvm/trace_hv.h
407
TP_PROTO(struct kvmppc_vcore *vc, int where),
arch/powerpc/kvm/trace_hv.h
409
TP_ARGS(vc, where),
arch/powerpc/kvm/trace_hv.h
419
__entry->runner_vcpu = vc->runner->vcpu_id;
arch/powerpc/kvm/trace_hv.h
420
__entry->n_runnable = vc->n_runnable;
arch/powerpc/math-emu/math_efp.c
183
union dw_union vc, va, vb;
arch/powerpc/math-emu/math_efp.c
200
vc.wp[0] = current->thread.evr[fc];
arch/powerpc/math-emu/math_efp.c
201
vc.wp[1] = regs->gpr[fc];
arch/powerpc/math-emu/math_efp.c
210
pr_debug("vc: %08x %08x\n", vc.wp[0], vc.wp[1]);
arch/powerpc/math-emu/math_efp.c
236
vc.wp[1] = va.wp[1] & ~SIGN_BIT_S;
arch/powerpc/math-emu/math_efp.c
240
vc.wp[1] = va.wp[1] | SIGN_BIT_S;
arch/powerpc/math-emu/math_efp.c
244
vc.wp[1] = va.wp[1] ^ SIGN_BIT_S;
arch/powerpc/math-emu/math_efp.c
278
vc.wp[1] = 0;
arch/powerpc/math-emu/math_efp.c
282
FP_TO_INT_ROUND_S(vc.wp[1], SB, 32,
arch/powerpc/math-emu/math_efp.c
302
vc.wp[1] = 0;
arch/powerpc/math-emu/math_efp.c
305
FP_TO_INT_ROUND_S(vc.wp[1], SB, 32,
arch/powerpc/math-emu/math_efp.c
313
vc.wp[1] = 0;
arch/powerpc/math-emu/math_efp.c
316
FP_TO_INT_S(vc.wp[1], SB, 32,
arch/powerpc/math-emu/math_efp.c
329
FP_PACK_SP(vc.wp + 1, SR);
arch/powerpc/math-emu/math_efp.c
367
vc.dp[0] = va.dp[0] & ~SIGN_BIT_D;
arch/powerpc/math-emu/math_efp.c
371
vc.dp[0] = va.dp[0] | SIGN_BIT_D;
arch/powerpc/math-emu/math_efp.c
375
vc.dp[0] = va.dp[0] ^ SIGN_BIT_D;
arch/powerpc/math-emu/math_efp.c
409
vc.wp[1] = 0;
arch/powerpc/math-emu/math_efp.c
413
FP_TO_INT_ROUND_D(vc.wp[1], DB, 32,
arch/powerpc/math-emu/math_efp.c
433
vc.dp[0] = 0;
arch/powerpc/math-emu/math_efp.c
436
FP_TO_INT_D(vc.dp[0], DB, 64,
arch/powerpc/math-emu/math_efp.c
444
vc.wp[1] = 0;
arch/powerpc/math-emu/math_efp.c
447
FP_TO_INT_ROUND_D(vc.wp[1], DB, 32,
arch/powerpc/math-emu/math_efp.c
455
vc.wp[1] = 0;
arch/powerpc/math-emu/math_efp.c
458
FP_TO_INT_D(vc.wp[1], DB, 32,
arch/powerpc/math-emu/math_efp.c
472
FP_PACK_DP(vc.dp, DR);
arch/powerpc/math-emu/math_efp.c
520
vc.wp[0] = va.wp[0] & ~SIGN_BIT_S;
arch/powerpc/math-emu/math_efp.c
521
vc.wp[1] = va.wp[1] & ~SIGN_BIT_S;
arch/powerpc/math-emu/math_efp.c
525
vc.wp[0] = va.wp[0] | SIGN_BIT_S;
arch/powerpc/math-emu/math_efp.c
526
vc.wp[1] = va.wp[1] | SIGN_BIT_S;
arch/powerpc/math-emu/math_efp.c
530
vc.wp[0] = va.wp[0] ^ SIGN_BIT_S;
arch/powerpc/math-emu/math_efp.c
531
vc.wp[1] = va.wp[1] ^ SIGN_BIT_S;
arch/powerpc/math-emu/math_efp.c
569
vc.wp[0] = 0;
arch/powerpc/math-emu/math_efp.c
573
FP_TO_INT_ROUND_S(vc.wp[0], SB0, 32,
arch/powerpc/math-emu/math_efp.c
577
vc.wp[1] = 0;
arch/powerpc/math-emu/math_efp.c
581
FP_TO_INT_ROUND_S(vc.wp[1], SB1, 32,
arch/powerpc/math-emu/math_efp.c
589
vc.wp[0] = 0;
arch/powerpc/math-emu/math_efp.c
592
FP_TO_INT_ROUND_S(vc.wp[0], SB0, 32,
arch/powerpc/math-emu/math_efp.c
596
vc.wp[1] = 0;
arch/powerpc/math-emu/math_efp.c
599
FP_TO_INT_ROUND_S(vc.wp[1], SB1, 32,
arch/powerpc/math-emu/math_efp.c
607
vc.wp[0] = 0;
arch/powerpc/math-emu/math_efp.c
610
FP_TO_INT_S(vc.wp[0], SB0, 32,
arch/powerpc/math-emu/math_efp.c
614
vc.wp[1] = 0;
arch/powerpc/math-emu/math_efp.c
617
FP_TO_INT_S(vc.wp[1], SB1, 32,
arch/powerpc/math-emu/math_efp.c
633
FP_PACK_SP(vc.wp, SR0);
arch/powerpc/math-emu/math_efp.c
634
FP_PACK_SP(vc.wp + 1, SR1);
arch/powerpc/math-emu/math_efp.c
685
current->thread.evr[fc] = vc.wp[0];
arch/powerpc/math-emu/math_efp.c
686
regs->gpr[fc] = vc.wp[1];
arch/powerpc/math-emu/math_efp.c
691
pr_debug("vc: %08x %08x\n", vc.wp[0], vc.wp[1]);
arch/x86/include/asm/vdso/gettimeofday.h
172
static inline bool arch_vdso_clocksource_ok(const struct vdso_clock *vc)
arch/x86/include/asm/vdso/gettimeofday.h
211
static __always_inline u64 vdso_calc_ns(const struct vdso_clock *vc, u64 cycles, u64 base)
arch/x86/include/asm/vdso/gettimeofday.h
213
u64 delta = cycles - vc->cycle_last;
arch/x86/include/asm/vdso/gettimeofday.h
225
if (unlikely(delta > vc->max_cycles)) {
arch/x86/include/asm/vdso/gettimeofday.h
232
return base >> vc->shift;
arch/x86/include/asm/vdso/gettimeofday.h
235
return mul_u64_u32_add_u64_shr(delta & S64_MAX, vc->mult, base, vc->shift);
arch/x86/include/asm/vdso/gettimeofday.h
238
return ((delta * vc->mult) + base) >> vc->shift;
drivers/accessibility/braille/braille_console.c
109
static void vc_follow_cursor(struct vc_data *vc)
drivers/accessibility/braille/braille_console.c
111
vc_x = vc->state.x - (vc->state.x % WIDTH);
drivers/accessibility/braille/braille_console.c
112
vc_y = vc->state.y;
drivers/accessibility/braille/braille_console.c
113
lastvc_x = vc->state.x;
drivers/accessibility/braille/braille_console.c
114
lastvc_y = vc->state.y;
drivers/accessibility/braille/braille_console.c
118
static void vc_maybe_cursor_moved(struct vc_data *vc)
drivers/accessibility/braille/braille_console.c
120
if (vc->state.x != lastvc_x || vc->state.y != lastvc_y)
drivers/accessibility/braille/braille_console.c
121
vc_follow_cursor(vc);
drivers/accessibility/braille/braille_console.c
125
static void vc_refresh(struct vc_data *vc)
drivers/accessibility/braille/braille_console.c
131
u16 glyph = screen_glyph(vc,
drivers/accessibility/braille/braille_console.c
132
2 * (vc_x + i) + vc_y * vc->vc_size_row);
drivers/accessibility/braille/braille_console.c
133
buf[i] = inverse_translate(vc, glyph, true);
drivers/accessibility/braille/braille_console.c
146
struct vc_data *vc = param->vc;
drivers/accessibility/braille/braille_console.c
158
vc_maybe_cursor_moved(vc);
drivers/accessibility/braille/braille_console.c
159
vc_refresh(vc);
drivers/accessibility/braille/braille_console.c
179
vc_x = vc->vc_cols-WIDTH;
drivers/accessibility/braille/braille_console.c
184
if (vc_x + WIDTH < vc->vc_cols) {
drivers/accessibility/braille/braille_console.c
186
} else if (vc_y + 1 < vc->vc_rows) {
drivers/accessibility/braille/braille_console.c
194
if (vc_y + 1 < vc->vc_rows)
drivers/accessibility/braille/braille_console.c
206
vc_follow_cursor(vc);
drivers/accessibility/braille/braille_console.c
214
vc_y = vc->vc_rows-1;
drivers/accessibility/braille/braille_console.c
221
vc_refresh(vc);
drivers/accessibility/braille/braille_console.c
267
struct vc_data *vc = param->vc;
drivers/accessibility/braille/braille_console.c
278
if (vc->vc_num != fg_console)
drivers/accessibility/braille/braille_console.c
317
vc_maybe_cursor_moved(vc);
drivers/accessibility/braille/braille_console.c
318
vc_refresh(vc);
drivers/accessibility/braille/braille_console.c
325
if (vc->vc_num != lastVC) {
drivers/accessibility/braille/braille_console.c
326
lastVC = vc->vc_num;
drivers/accessibility/braille/braille_console.c
332
vc_maybe_cursor_moved(vc);
drivers/accessibility/braille/braille_console.c
333
vc_refresh(vc);
drivers/accessibility/speakup/keyhelp.c
132
int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u_short key)
drivers/accessibility/speakup/kobjects.c
336
struct vc_data *vc = vc_cons[fg_console].d;
drivers/accessibility/speakup/main.c
1002
static void say_first_char(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1004
int i, len = get_line(vc);
drivers/accessibility/speakup/main.c
1022
static void say_last_char(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1024
int len = get_line(vc);
drivers/accessibility/speakup/main.c
1039
static void say_position(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1042
vc->vc_num + 1);
drivers/accessibility/speakup/main.c
1047
static void say_char_num(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1050
u16 ch = get_char(vc, (u_short *)spk_pos, &tmp);
drivers/accessibility/speakup/main.c
1057
static void say_from_top(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1059
say_screen_from_to(vc, 0, spk_y);
drivers/accessibility/speakup/main.c
1062
static void say_to_bottom(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1064
say_screen_from_to(vc, spk_y, vc->vc_rows);
drivers/accessibility/speakup/main.c
1067
static void say_from_left(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1069
say_line_from_to(vc, 0, spk_x, 1);
drivers/accessibility/speakup/main.c
1072
static void say_to_right(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1074
say_line_from_to(vc, spk_x, vc->vc_cols, 1);
drivers/accessibility/speakup/main.c
1161
static void read_all_doc(struct vc_data *vc);
drivers/accessibility/speakup/main.c
1165
static void do_handle_shift(struct vc_data *vc, u_char value, char up_flag)
drivers/accessibility/speakup/main.c
1178
read_all_doc(vc);
drivers/accessibility/speakup/main.c
1196
static void do_handle_latin(struct vc_data *vc, u_char value, char up_flag)
drivers/accessibility/speakup/main.c
1298
static void toggle_cursoring(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1328
static int edit_bits(struct vc_data *vc, u_char type, u_char ch, u_short key)
drivers/accessibility/speakup/main.c
1350
static int speakup_allocate(struct vc_data *vc, gfp_t gfp_flags)
drivers/accessibility/speakup/main.c
1354
vc_num = vc->vc_num;
drivers/accessibility/speakup/main.c
1360
speakup_date(vc);
drivers/accessibility/speakup/main.c
1362
speakup_date(vc);
drivers/accessibility/speakup/main.c
1368
static void speakup_deallocate(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1372
vc_num = vc->vc_num;
drivers/accessibility/speakup/main.c
1398
static void start_read_all_timer(struct vc_data *vc, enum read_all_command command);
drivers/accessibility/speakup/main.c
1400
static void kbd_fakekey2(struct vc_data *vc, enum read_all_command command)
drivers/accessibility/speakup/main.c
1404
start_read_all_timer(vc, command);
drivers/accessibility/speakup/main.c
1407
static void read_all_doc(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1409
if ((vc->vc_num != fg_console) || !synth || spk_shut_up)
drivers/accessibility/speakup/main.c
1417
if (get_sentence_buf(vc, 0) == -1) {
drivers/accessibility/speakup/main.c
1421
start_read_all_timer(vc, RA_DOWN_ARROW);
drivers/accessibility/speakup/main.c
1425
start_read_all_timer(vc, RA_TIMER);
drivers/accessibility/speakup/main.c
1429
static void stop_read_all(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1437
static void start_read_all_timer(struct vc_data *vc, enum read_all_command command)
drivers/accessibility/speakup/main.c
1441
cursor_con = vc->vc_num;
drivers/accessibility/speakup/main.c
1448
static void handle_cursor_read_all(struct vc_data *vc, enum read_all_command command)
drivers/accessibility/speakup/main.c
1460
kbd_fakekey2(vc, RA_FIND_NEXT_SENT);
drivers/accessibility/speakup/main.c
1473
kbd_fakekey2(vc, RA_FIND_NEXT_SENT);
drivers/accessibility/speakup/main.c
1478
start_read_all_timer(vc, RA_TIMER);
drivers/accessibility/speakup/main.c
1483
read_all_doc(vc);
drivers/accessibility/speakup/main.c
1488
if (get_sentence_buf(vc, 0) == -1) {
drivers/accessibility/speakup/main.c
1489
kbd_fakekey2(vc, RA_DOWN_ARROW);
drivers/accessibility/speakup/main.c
1493
start_read_all_timer(vc, RA_TIMER);
drivers/accessibility/speakup/main.c
1497
rv = get_sentence_buf(vc, 0);
drivers/accessibility/speakup/main.c
1499
read_all_doc(vc);
drivers/accessibility/speakup/main.c
1501
kbd_fakekey2(vc, RA_FIND_NEXT_SENT);
drivers/accessibility/speakup/main.c
1505
start_read_all_timer(vc, RA_TIMER);
drivers/accessibility/speakup/main.c
1513
kbd_fakekey2(vc, RA_DOWN_ARROW);
drivers/accessibility/speakup/main.c
1515
start_read_all_timer(vc, RA_TIMER);
drivers/accessibility/speakup/main.c
1520
static int pre_handle_cursor(struct vc_data *vc, u_char value, char up_flag)
drivers/accessibility/speakup/main.c
1534
start_read_all_timer(vc, value + 1);
drivers/accessibility/speakup/main.c
1542
static void do_handle_cursor(struct vc_data *vc, u_char value, char up_flag)
drivers/accessibility/speakup/main.c
1560
old_cursor_pos = vc->vc_pos;
drivers/accessibility/speakup/main.c
1561
old_cursor_x = vc->state.x;
drivers/accessibility/speakup/main.c
1562
old_cursor_y = vc->state.y;
drivers/accessibility/speakup/main.c
1563
speakup_console[vc->vc_num]->ht.cy = vc->state.y;
drivers/accessibility/speakup/main.c
1564
cursor_con = vc->vc_num;
drivers/accessibility/speakup/main.c
1566
reset_highlight_buffers(vc);
drivers/accessibility/speakup/main.c
1573
static void update_color_buffer(struct vc_data *vc, const u16 *ic, int len)
drivers/accessibility/speakup/main.c
1576
int vc_num = vc->vc_num;
drivers/accessibility/speakup/main.c
1578
bi = (vc->vc_attr & 0x70) >> 4;
drivers/accessibility/speakup/main.c
1583
speakup_console[vc_num]->ht.rpos[bi] = vc->vc_pos;
drivers/accessibility/speakup/main.c
1584
speakup_console[vc_num]->ht.rx[bi] = vc->state.x;
drivers/accessibility/speakup/main.c
1585
speakup_console[vc_num]->ht.ry[bi] = vc->state.y;
drivers/accessibility/speakup/main.c
1604
static void reset_highlight_buffers(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1607
int vc_num = vc->vc_num;
drivers/accessibility/speakup/main.c
1613
static int count_highlight_color(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1617
int vc_num = vc->vc_num;
drivers/accessibility/speakup/main.c
1619
u16 *start = (u16 *)vc->vc_origin;
drivers/accessibility/speakup/main.c
1624
for (i = 0; i < vc->vc_rows; i++) {
drivers/accessibility/speakup/main.c
1625
u16 *end = start + vc->vc_cols * 2;
drivers/accessibility/speakup/main.c
1629
ch = get_attributes(vc, ptr);
drivers/accessibility/speakup/main.c
1633
start += vc->vc_size_row;
drivers/accessibility/speakup/main.c
1643
static int get_highlight_color(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1647
int vc_num = vc->vc_num;
drivers/accessibility/speakup/main.c
1665
static int speak_highlight(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1668
int vc_num = vc->vc_num;
drivers/accessibility/speakup/main.c
1670
if (count_highlight_color(vc) == 1)
drivers/accessibility/speakup/main.c
1672
hc = get_highlight_color(vc);
drivers/accessibility/speakup/main.c
1674
d = vc->state.y - speakup_console[vc_num]->ht.cy;
drivers/accessibility/speakup/main.c
1676
if (speakup_console[vc_num]->ht.ry[hc] != vc->state.y)
drivers/accessibility/speakup/main.c
1692
struct vc_data *vc = vc_cons[cursor_con].d;
drivers/accessibility/speakup/main.c
1701
speakup_date(vc);
drivers/accessibility/speakup/main.c
1703
if (vc->state.x >= win_left && vc->state.x <= win_right &&
drivers/accessibility/speakup/main.c
1704
vc->state.y >= win_top && vc->state.y <= win_bottom) {
drivers/accessibility/speakup/main.c
1711
handle_cursor_read_all(vc, read_all_key);
drivers/accessibility/speakup/main.c
1715
if (speak_highlight(vc)) {
drivers/accessibility/speakup/main.c
1722
speakup_win_say(vc);
drivers/accessibility/speakup/main.c
1724
say_line_from_to(vc, 0, vc->vc_cols, 0);
drivers/accessibility/speakup/main.c
1727
say_phonetic_char(vc);
drivers/accessibility/speakup/main.c
1729
say_char(vc);
drivers/accessibility/speakup/main.c
1738
static void speakup_bs(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1742
if (!speakup_console[vc->vc_num])
drivers/accessibility/speakup/main.c
1748
speakup_date(vc);
drivers/accessibility/speakup/main.c
1753
if (vc->vc_num == fg_console && spk_keydown) {
drivers/accessibility/speakup/main.c
1756
say_char(vc);
drivers/accessibility/speakup/main.c
1762
static void speakup_con_write(struct vc_data *vc, u16 *str, int len)
drivers/accessibility/speakup/main.c
1766
if ((vc->vc_num != fg_console) || spk_shut_up || !synth)
drivers/accessibility/speakup/main.c
1771
if (spk_bell_pos && spk_keydown && (vc->state.x == spk_bell_pos - 1))
drivers/accessibility/speakup/main.c
1775
update_color_buffer(vc, str, len);
drivers/accessibility/speakup/main.c
1780
if (vc->state.x >= win_left && vc->state.x <= win_right &&
drivers/accessibility/speakup/main.c
1781
vc->state.y >= win_top && vc->state.y <= win_bottom) {
drivers/accessibility/speakup/main.c
1791
static void speakup_con_update(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1795
if (!speakup_console[vc->vc_num] || spk_parked || !synth)
drivers/accessibility/speakup/main.c
1800
speakup_date(vc);
drivers/accessibility/speakup/main.c
1801
if (vc->vc_mode == KD_GRAPHICS && !spk_paused && spk_str_pause[0]) {
drivers/accessibility/speakup/main.c
1808
static void do_handle_spec(struct vc_data *vc, u_char value, char up_flag)
drivers/accessibility/speakup/main.c
1832
if (speakup_console[vc->vc_num])
drivers/accessibility/speakup/main.c
1833
speakup_console[vc->vc_num]->tty_stopped = on_off;
drivers/accessibility/speakup/main.c
1879
static void speakup_win_set(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1893
win_right = vc->vc_cols - 1;
drivers/accessibility/speakup/main.c
1914
static void speakup_win_clear(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1924
static void speakup_win_enable(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1937
static void speakup_bits(struct vc_data *vc)
drivers/accessibility/speakup/main.c
1950
static int handle_goto(struct vc_data *vc, u_char type, u_char ch, u_short key)
drivers/accessibility/speakup/main.c
2005
if (goto_pos >= vc->vc_cols)
drivers/accessibility/speakup/main.c
2006
goto_pos = vc->vc_cols - 1;
drivers/accessibility/speakup/main.c
2014
if (goto_pos >= vc->vc_rows)
drivers/accessibility/speakup/main.c
2015
goto_pos = vc->vc_rows - 1;
drivers/accessibility/speakup/main.c
2026
say_word(vc);
drivers/accessibility/speakup/main.c
2029
spk_pos = vc->vc_origin + (goto_pos * vc->vc_size_row);
drivers/accessibility/speakup/main.c
2030
say_line(vc);
drivers/accessibility/speakup/main.c
2035
static void speakup_goto(struct vc_data *vc)
drivers/accessibility/speakup/main.c
2045
static void speakup_help(struct vc_data *vc)
drivers/accessibility/speakup/main.c
2047
spk_handle_help(vc, KT_SPKUP, SPEAKUP_HELP, 0);
drivers/accessibility/speakup/main.c
2050
static void do_nothing(struct vc_data *vc)
drivers/accessibility/speakup/main.c
2057
static void speakup_lock(struct vc_data *vc)
drivers/accessibility/speakup/main.c
2088
static void do_spkup(struct vc_data *vc, u_char value)
drivers/accessibility/speakup/main.c
2098
(*spkup_handler[value]) (vc);
drivers/accessibility/speakup/main.c
2108
speakup_key(struct vc_data *vc, int shift_state, int keycode, u_short keysym,
drivers/accessibility/speakup/main.c
2122
tty = vc->port.tty;
drivers/accessibility/speakup/main.c
2153
stop_read_all(vc);
drivers/accessibility/speakup/main.c
2190
do_spkup(vc, new_key);
drivers/accessibility/speakup/main.c
2214
ret = (*spk_special_handler) (vc, type, value, keycode);
drivers/accessibility/speakup/main.c
2230
struct vc_data *vc = param->vc;
drivers/accessibility/speakup/main.c
2237
if (vc->vc_mode == KD_GRAPHICS)
drivers/accessibility/speakup/main.c
2264
if (speakup_key(vc, param->shift, keycode, param->value, up))
drivers/accessibility/speakup/main.c
2267
ret = pre_handle_cursor(vc, KVAL(param->value), up);
drivers/accessibility/speakup/main.c
2275
do_handle_shift(vc, val, up);
drivers/accessibility/speakup/main.c
2279
do_handle_latin(vc, val, up);
drivers/accessibility/speakup/main.c
2282
do_handle_cursor(vc, val, up);
drivers/accessibility/speakup/main.c
2285
do_handle_spec(vc, val, up);
drivers/accessibility/speakup/main.c
2300
struct vc_data *vc = param->vc;
drivers/accessibility/speakup/main.c
2304
if (vc->vc_mode == KD_TEXT)
drivers/accessibility/speakup/main.c
2305
speakup_allocate(vc, GFP_ATOMIC);
drivers/accessibility/speakup/main.c
2308
speakup_deallocate(vc);
drivers/accessibility/speakup/main.c
2312
speakup_bs(vc);
drivers/accessibility/speakup/main.c
2316
speakup_con_write(vc, &d, 1);
drivers/accessibility/speakup/main.c
2320
speakup_con_update(vc);
drivers/accessibility/speakup/main.c
2367
struct vc_data *vc = vc_cons[fg_console].d;
drivers/accessibility/speakup/main.c
2375
spk_vars[0].u.n.high = vc->vc_cols;
drivers/accessibility/speakup/main.c
258
static unsigned char get_attributes(struct vc_data *vc, u16 *pos)
drivers/accessibility/speakup/main.c
260
pos = screen_pos(vc, pos - (u16 *)vc->vc_origin, true);
drivers/accessibility/speakup/main.c
261
return (scr_readw(pos) & ~vc->vc_hi_font_mask) >> 8;
drivers/accessibility/speakup/main.c
264
static void speakup_date(struct vc_data *vc)
drivers/accessibility/speakup/main.c
266
spk_x = spk_cx = vc->state.x;
drivers/accessibility/speakup/main.c
267
spk_y = spk_cy = vc->state.y;
drivers/accessibility/speakup/main.c
268
spk_pos = spk_cp = vc->vc_pos;
drivers/accessibility/speakup/main.c
270
spk_attr = get_attributes(vc, (u_short *)spk_pos);
drivers/accessibility/speakup/main.c
290
static void speakup_shut_up(struct vc_data *vc)
drivers/accessibility/speakup/main.c
296
speakup_date(vc);
drivers/accessibility/speakup/main.c
301
static void speech_kill(struct vc_data *vc)
drivers/accessibility/speakup/main.c
319
static void speakup_off(struct vc_data *vc)
drivers/accessibility/speakup/main.c
328
speakup_date(vc);
drivers/accessibility/speakup/main.c
331
static void speakup_parked(struct vc_data *vc)
drivers/accessibility/speakup/main.c
342
static void speakup_cut(struct vc_data *vc)
drivers/accessibility/speakup/main.c
351
spk_sel_cons = vc;
drivers/accessibility/speakup/main.c
377
static void speakup_paste(struct vc_data *vc)
drivers/accessibility/speakup/main.c
388
static void say_attributes(struct vc_data *vc)
drivers/accessibility/speakup/main.c
413
static void announce_edge(struct vc_data *vc, enum edge msg_id)
drivers/accessibility/speakup/main.c
457
static u16 get_char(struct vc_data *vc, u16 *pos, u_char *attribs)
drivers/accessibility/speakup/main.c
461
if (vc && pos) {
drivers/accessibility/speakup/main.c
465
pos = screen_pos(vc, pos - (u16 *)vc->vc_origin, true);
drivers/accessibility/speakup/main.c
469
if (w & vc->vc_hi_font_mask) {
drivers/accessibility/speakup/main.c
470
w &= ~vc->vc_hi_font_mask;
drivers/accessibility/speakup/main.c
474
ch = inverse_translate(vc, c, true);
drivers/accessibility/speakup/main.c
480
static void say_char(struct vc_data *vc)
drivers/accessibility/speakup/main.c
485
ch = get_char(vc, (u_short *)spk_pos, &spk_attr);
drivers/accessibility/speakup/main.c
490
say_attributes(vc);
drivers/accessibility/speakup/main.c
495
static void say_phonetic_char(struct vc_data *vc)
drivers/accessibility/speakup/main.c
500
ch = get_char(vc, (u_short *)spk_pos, &spk_attr);
drivers/accessibility/speakup/main.c
511
static void say_prev_char(struct vc_data *vc)
drivers/accessibility/speakup/main.c
515
announce_edge(vc, edge_left);
drivers/accessibility/speakup/main.c
520
say_char(vc);
drivers/accessibility/speakup/main.c
523
static void say_next_char(struct vc_data *vc)
drivers/accessibility/speakup/main.c
526
if (spk_x == vc->vc_cols - 1) {
drivers/accessibility/speakup/main.c
527
announce_edge(vc, edge_right);
drivers/accessibility/speakup/main.c
532
say_char(vc);
drivers/accessibility/speakup/main.c
544
static u_long get_word(struct vc_data *vc)
drivers/accessibility/speakup/main.c
552
ch = get_char(vc, (u_short *)tmp_pos, &temp);
drivers/accessibility/speakup/main.c
559
} else if (tmpx < vc->vc_cols - 2 &&
drivers/accessibility/speakup/main.c
561
get_char(vc, (u_short *)tmp_pos + 1, &temp) > SPACE) {
drivers/accessibility/speakup/main.c
566
ch = get_char(vc, (u_short *)tmp_pos - 1, &temp);
drivers/accessibility/speakup/main.c
569
get_char(vc, (u_short *)tmp_pos, &temp) > SPACE)
drivers/accessibility/speakup/main.c
575
attr_ch = get_char(vc, (u_short *)tmp_pos, &spk_attr);
drivers/accessibility/speakup/main.c
577
while (tmpx < vc->vc_cols - 1 && cnt < ARRAY_SIZE(buf) - 1) {
drivers/accessibility/speakup/main.c
580
ch = get_char(vc, (u_short *)tmp_pos, &temp);
drivers/accessibility/speakup/main.c
591
static void say_word(struct vc_data *vc)
drivers/accessibility/speakup/main.c
593
u_long cnt = get_word(vc);
drivers/accessibility/speakup/main.c
604
static void say_prev_word(struct vc_data *vc)
drivers/accessibility/speakup/main.c
615
announce_edge(vc, edge_top);
drivers/accessibility/speakup/main.c
619
spk_x = vc->vc_cols;
drivers/accessibility/speakup/main.c
633
spk_x = vc->vc_cols - 1;
drivers/accessibility/speakup/main.c
638
ch = get_char(vc, (u_short *)spk_pos, &temp);
drivers/accessibility/speakup/main.c
655
announce_edge(vc, edge_said);
drivers/accessibility/speakup/main.c
656
say_word(vc);
drivers/accessibility/speakup/main.c
659
static void say_next_word(struct vc_data *vc)
drivers/accessibility/speakup/main.c
667
if (spk_x == vc->vc_cols - 1 && spk_y == vc->vc_rows - 1) {
drivers/accessibility/speakup/main.c
668
announce_edge(vc, edge_bottom);
drivers/accessibility/speakup/main.c
672
ch = get_char(vc, (u_short *)spk_pos, &temp);
drivers/accessibility/speakup/main.c
681
if (spk_x >= vc->vc_cols - 1) {
drivers/accessibility/speakup/main.c
682
if (spk_y == vc->vc_rows - 1) {
drivers/accessibility/speakup/main.c
697
announce_edge(vc, edge_said);
drivers/accessibility/speakup/main.c
698
say_word(vc);
drivers/accessibility/speakup/main.c
701
static void spell_word(struct vc_data *vc)
drivers/accessibility/speakup/main.c
711
if (!get_word(vc))
drivers/accessibility/speakup/main.c
751
static int get_line(struct vc_data *vc)
drivers/accessibility/speakup/main.c
758
spk_attr = get_attributes(vc, (u_short *)spk_pos);
drivers/accessibility/speakup/main.c
759
for (i = 0; i < vc->vc_cols; i++) {
drivers/accessibility/speakup/main.c
760
buf[i] = get_char(vc, (u_short *)tmp, &tmp2);
drivers/accessibility/speakup/main.c
769
static void say_line(struct vc_data *vc)
drivers/accessibility/speakup/main.c
771
int i = get_line(vc);
drivers/accessibility/speakup/main.c
791
static void say_prev_line(struct vc_data *vc)
drivers/accessibility/speakup/main.c
795
announce_edge(vc, edge_top);
drivers/accessibility/speakup/main.c
799
spk_pos -= vc->vc_size_row;
drivers/accessibility/speakup/main.c
800
say_line(vc);
drivers/accessibility/speakup/main.c
803
static void say_next_line(struct vc_data *vc)
drivers/accessibility/speakup/main.c
806
if (spk_y == vc->vc_rows - 1) {
drivers/accessibility/speakup/main.c
807
announce_edge(vc, edge_bottom);
drivers/accessibility/speakup/main.c
811
spk_pos += vc->vc_size_row;
drivers/accessibility/speakup/main.c
812
say_line(vc);
drivers/accessibility/speakup/main.c
815
static int say_from_to(struct vc_data *vc, u_long from, u_long to,
drivers/accessibility/speakup/main.c
823
spk_attr = get_attributes(vc, (u_short *)from);
drivers/accessibility/speakup/main.c
825
buf[i++] = get_char(vc, (u_short *)from, &tmp);
drivers/accessibility/speakup/main.c
827
if (i >= vc->vc_size_row)
drivers/accessibility/speakup/main.c
845
static void say_line_from_to(struct vc_data *vc, u_long from, u_long to,
drivers/accessibility/speakup/main.c
848
u_long start = vc->vc_origin + (spk_y * vc->vc_size_row);
drivers/accessibility/speakup/main.c
852
if (say_from_to(vc, start, end, read_punc) <= 0)
drivers/accessibility/speakup/main.c
881
static int get_sentence_buf(struct vc_data *vc, int read_punc)
drivers/accessibility/speakup/main.c
891
start = vc->vc_origin + ((spk_y) * vc->vc_size_row);
drivers/accessibility/speakup/main.c
892
end = vc->vc_origin + ((spk_y) * vc->vc_size_row) + vc->vc_cols * 2;
drivers/accessibility/speakup/main.c
898
spk_attr = get_attributes(vc, (u_short *)start);
drivers/accessibility/speakup/main.c
901
sentbuf[bn][i] = get_char(vc, (u_short *)start, &tmp);
drivers/accessibility/speakup/main.c
914
if (i >= vc->vc_size_row)
drivers/accessibility/speakup/main.c
932
static void say_screen_from_to(struct vc_data *vc, u_long from, u_long to)
drivers/accessibility/speakup/main.c
934
u_long start = vc->vc_origin, end;
drivers/accessibility/speakup/main.c
937
start += from * vc->vc_size_row;
drivers/accessibility/speakup/main.c
938
if (to > vc->vc_rows)
drivers/accessibility/speakup/main.c
939
to = vc->vc_rows;
drivers/accessibility/speakup/main.c
940
end = vc->vc_origin + (to * vc->vc_size_row);
drivers/accessibility/speakup/main.c
942
to = from + vc->vc_size_row;
drivers/accessibility/speakup/main.c
943
say_from_to(vc, from, to, 1);
drivers/accessibility/speakup/main.c
947
static void say_screen(struct vc_data *vc)
drivers/accessibility/speakup/main.c
949
say_screen_from_to(vc, 0, vc->vc_rows);
drivers/accessibility/speakup/main.c
952
static void speakup_win_say(struct vc_data *vc)
drivers/accessibility/speakup/main.c
960
start = vc->vc_origin + (win_top * vc->vc_size_row);
drivers/accessibility/speakup/main.c
961
end = vc->vc_origin + (win_bottom * vc->vc_size_row);
drivers/accessibility/speakup/main.c
965
say_from_to(vc, from, to, 1);
drivers/accessibility/speakup/main.c
966
start += vc->vc_size_row;
drivers/accessibility/speakup/main.c
970
static void top_edge(struct vc_data *vc)
drivers/accessibility/speakup/main.c
973
spk_pos = vc->vc_origin + 2 * spk_x;
drivers/accessibility/speakup/main.c
975
say_line(vc);
drivers/accessibility/speakup/main.c
978
static void bottom_edge(struct vc_data *vc)
drivers/accessibility/speakup/main.c
981
spk_pos += (vc->vc_rows - spk_y - 1) * vc->vc_size_row;
drivers/accessibility/speakup/main.c
982
spk_y = vc->vc_rows - 1;
drivers/accessibility/speakup/main.c
983
say_line(vc);
drivers/accessibility/speakup/main.c
986
static void left_edge(struct vc_data *vc)
drivers/accessibility/speakup/main.c
991
say_char(vc);
drivers/accessibility/speakup/main.c
994
static void right_edge(struct vc_data *vc)
drivers/accessibility/speakup/main.c
997
spk_pos += (vc->vc_cols - spk_x - 1) * 2;
drivers/accessibility/speakup/main.c
998
spk_x = vc->vc_cols - 1;
drivers/accessibility/speakup/main.c
999
say_char(vc);
drivers/accessibility/speakup/speakup.h
65
int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u_short key);
drivers/accessibility/speakup/spk_types.h
100
#define win_right (speakup_console[vc->vc_num]->w_right)
drivers/accessibility/speakup/spk_types.h
101
#define win_start (speakup_console[vc->vc_num]->w_start)
drivers/accessibility/speakup/spk_types.h
102
#define win_enabled (speakup_console[vc->vc_num]->w_enabled)
drivers/accessibility/speakup/spk_types.h
103
#define spk_attr (speakup_console[vc->vc_num]->reading_attr)
drivers/accessibility/speakup/spk_types.h
104
#define spk_old_attr (speakup_console[vc->vc_num]->old_attr)
drivers/accessibility/speakup/spk_types.h
105
#define spk_parked (speakup_console[vc->vc_num]->parked)
drivers/accessibility/speakup/spk_types.h
55
typedef int (*special_func)(struct vc_data *vc, u_char type, u_char ch,
drivers/accessibility/speakup/spk_types.h
87
#define spk_shut_up (speakup_console[vc->vc_num]->shut_up)
drivers/accessibility/speakup/spk_types.h
88
#define spk_killed (speakup_console[vc->vc_num]->shut_up & 0x40)
drivers/accessibility/speakup/spk_types.h
89
#define spk_x (speakup_console[vc->vc_num]->reading_x)
drivers/accessibility/speakup/spk_types.h
90
#define spk_cx (speakup_console[vc->vc_num]->cursor_x)
drivers/accessibility/speakup/spk_types.h
91
#define spk_y (speakup_console[vc->vc_num]->reading_y)
drivers/accessibility/speakup/spk_types.h
92
#define spk_cy (speakup_console[vc->vc_num]->cursor_y)
drivers/accessibility/speakup/spk_types.h
93
#define spk_pos (speakup_console[vc->vc_num]->reading_pos)
drivers/accessibility/speakup/spk_types.h
94
#define spk_cp (speakup_console[vc->vc_num]->cursor_pos)
drivers/accessibility/speakup/spk_types.h
95
#define goto_pos (speakup_console[vc->vc_num]->go_pos)
drivers/accessibility/speakup/spk_types.h
96
#define goto_x (speakup_console[vc->vc_num]->go_x)
drivers/accessibility/speakup/spk_types.h
97
#define win_top (speakup_console[vc->vc_num]->w_top)
drivers/accessibility/speakup/spk_types.h
98
#define win_bottom (speakup_console[vc->vc_num]->w_bottom)
drivers/accessibility/speakup/spk_types.h
99
#define win_left (speakup_console[vc->vc_num]->w_left)
drivers/dma/amba-pl08x.c
1525
vchan_get_all_descriptors(&plchan->vc, &head);
drivers/dma/amba-pl08x.c
1526
vchan_dma_desc_free_list(&plchan->vc, &head);
drivers/dma/amba-pl08x.c
1566
spin_lock_irqsave(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
1569
vd = vchan_find_desc(&plchan->vc, cookie);
drivers/dma/amba-pl08x.c
1581
spin_unlock_irqrestore(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
1736
spin_lock_irqsave(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
1737
if (vchan_issue_pending(&plchan->vc)) {
drivers/dma/amba-pl08x.c
1741
spin_unlock_irqrestore(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
1925
return vchan_tx_prep(&plchan->vc, &txd->vd, flags);
drivers/dma/amba-pl08x.c
2080
return vchan_tx_prep(&plchan->vc, &txd->vd, flags);
drivers/dma/amba-pl08x.c
2123
return vchan_tx_prep(&plchan->vc, &txd->vd, flags);
drivers/dma/amba-pl08x.c
2158
spin_lock_irqsave(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
2160
spin_unlock_irqrestore(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
2181
spin_unlock_irqrestore(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
2190
vchan_synchronize(&plchan->vc);
drivers/dma/amba-pl08x.c
2202
spin_lock_irqsave(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
2204
spin_unlock_irqrestore(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
2211
spin_unlock_irqrestore(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
2225
spin_lock_irqsave(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
2227
spin_unlock_irqrestore(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
2234
spin_unlock_irqrestore(&plchan->vc.lock, flags);
drivers/dma/amba-pl08x.c
2317
spin_lock(&plchan->vc.lock);
drivers/dma/amba-pl08x.c
2335
if (vchan_next_desc(&plchan->vc))
drivers/dma/amba-pl08x.c
2340
spin_unlock(&plchan->vc.lock);
drivers/dma/amba-pl08x.c
2411
chan->vc.desc_free = pl08x_desc_free;
drivers/dma/amba-pl08x.c
2412
vchan_init(&chan->vc, dmadev);
drivers/dma/amba-pl08x.c
2425
next, &dmadev->channels, vc.chan.device_node) {
drivers/dma/amba-pl08x.c
2426
list_del(&chan->vc.chan.device_node);
drivers/dma/amba-pl08x.c
2479
list_for_each_entry(chan, &pl08x->memcpy.channels, vc.chan.device_node) {
drivers/dma/amba-pl08x.c
248
struct virt_dma_chan vc;
drivers/dma/amba-pl08x.c
2489
vc.chan.device_node) {
drivers/dma/amba-pl08x.c
2523
list_for_each_entry(chan, &pl08x->slave.channels, vc.chan.device_node) {
drivers/dma/amba-pl08x.c
2525
return &chan->vc.chan;
drivers/dma/amba-pl08x.c
317
return container_of(chan, struct pl08x_dma_chan, vc.chan);
drivers/dma/amba-pl08x.c
531
struct virt_dma_desc *vd = vchan_next_desc(&plchan->vc);
drivers/dma/amba-pl08x.c
917
list_for_each_entry(p, &pl08x->memcpy.channels, vc.chan.device_node)
drivers/dma/amba-pl08x.c
925
list_for_each_entry(p, &pl08x->slave.channels, vc.chan.device_node)
drivers/dma/amba-pl08x.c
943
spin_lock(&next->vc.lock);
drivers/dma/amba-pl08x.c
948
spin_unlock(&next->vc.lock);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
191
struct virt_dma_desc *vd = vchan_next_desc(&chan->vc);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
220
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
238
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
326
vchan_tx_prep(&chan->vc, &desc->vd, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
360
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
370
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
458
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
464
vchan_issue_pending(&chan->vc);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
468
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
509
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
512
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
525
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
529
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
552
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
553
vchan_get_all_descriptors(&chan->vc, &head);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
554
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
556
vchan_dma_desc_free_list(&chan->vc, &head);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
557
vchan_free_chan_resources(&chan->vc);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
629
chan->vc.desc_free = pt_do_cleanup;
drivers/dma/amd/ptdma/ptdma-dmaengine.c
630
vchan_init(&chan->vc, dma_dev);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
635
chan->vc.desc_free = pt_do_cleanup;
drivers/dma/amd/ptdma/ptdma-dmaengine.c
636
vchan_init(&chan->vc, dma_dev);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
67
return container_of(dma_chan, struct pt_dma_chan, vc.chan);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
79
vchan_free_chan_resources(&chan->vc);
drivers/dma/amd/ptdma/ptdma-dmaengine.c
86
vchan_synchronize(&chan->vc);
drivers/dma/amd/ptdma/ptdma.h
185
struct virt_dma_chan vc;
drivers/dma/amd/qdma/qdma.c
708
struct virt_dma_chan *vc = &q->vchan;
drivers/dma/amd/qdma/qdma.c
713
if (!list_empty(&vc->desc_issued)) {
drivers/dma/amd/qdma/qdma.c
715
list_for_each_entry_from(vd, &vc->desc_issued, node) {
drivers/dma/amd/qdma/qdma.c
726
if (list_empty(&vc->desc_submitted))
drivers/dma/amd/qdma/qdma.c
732
vd = list_first_entry(&vc->desc_submitted, typeof(*vd), node);
drivers/dma/amd/qdma/qdma.c
734
list_for_each_entry_from(vd, &vc->desc_submitted, node) {
drivers/dma/amd/qdma/qdma.c
745
struct virt_dma_chan *vc = to_virt_chan(tx->chan);
drivers/dma/amd/qdma/qdma.c
746
struct qdma_queue *q = to_qdma_queue(&vc->chan);
drivers/dma/amd/qdma/qdma.c
752
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/amd/qdma/qdma.c
755
list_move_tail(&vd->node, &vc->desc_submitted);
drivers/dma/amd/qdma/qdma.c
757
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/arm-dma350.c
180
struct virt_dma_chan vc;
drivers/dma/arm-dma350.c
202
return container_of(chan, struct d350_chan, vc.chan);
drivers/dma/arm-dma350.c
250
return vchan_tx_prep(&dch->vc, &desc->vd, flags);
drivers/dma/arm-dma350.c
286
return vchan_tx_prep(&dch->vc, &desc->vd, flags);
drivers/dma/arm-dma350.c
294
spin_lock_irqsave(&dch->vc.lock, flags);
drivers/dma/arm-dma350.c
299
spin_unlock_irqrestore(&dch->vc.lock, flags);
drivers/dma/arm-dma350.c
309
spin_lock_irqsave(&dch->vc.lock, flags);
drivers/dma/arm-dma350.c
314
spin_unlock_irqrestore(&dch->vc.lock, flags);
drivers/dma/arm-dma350.c
343
spin_lock_irqsave(&dch->vc.lock, flags);
drivers/dma/arm-dma350.c
351
vchan_get_all_descriptors(&dch->vc, &list);
drivers/dma/arm-dma350.c
352
list_splice_tail(&list, &dch->vc.desc_terminated);
drivers/dma/arm-dma350.c
353
spin_unlock_irqrestore(&dch->vc.lock, flags);
drivers/dma/arm-dma350.c
362
vchan_synchronize(&dch->vc);
drivers/dma/arm-dma350.c
381
spin_lock_irqsave(&dch->vc.lock, flags);
drivers/dma/arm-dma350.c
387
} else if ((vd = vchan_find_desc(&dch->vc, cookie))) {
drivers/dma/arm-dma350.c
393
spin_unlock_irqrestore(&dch->vc.lock, flags);
drivers/dma/arm-dma350.c
403
dch->desc = to_d350_desc(vchan_next_desc(&dch->vc));
drivers/dma/arm-dma350.c
458
spin_lock_irqsave(&dch->vc.lock, flags);
drivers/dma/arm-dma350.c
459
if (vchan_issue_pending(&dch->vc) && !dch->desc)
drivers/dma/arm-dma350.c
461
spin_unlock_irqrestore(&dch->vc.lock, flags);
drivers/dma/arm-dma350.c
467
struct device *dev = dch->vc.chan.device->dev;
drivers/dma/arm-dma350.c
491
spin_lock(&dch->vc.lock);
drivers/dma/arm-dma350.c
501
spin_unlock(&dch->vc.lock);
drivers/dma/arm-dma350.c
510
dev_name(&dch->vc.chan.dev->device), dch);
drivers/dma/arm-dma350.c
523
vchan_free_chan_resources(&dch->vc);
drivers/dma/arm-dma350.c
617
dch->vc.desc_free = d350_desc_free;
drivers/dma/arm-dma350.c
618
vchan_init(&dch->vc, &dmac->dma);
drivers/dma/at_hdmac.c
1043
return vchan_tx_prep(&atchan->vc, &desc->vd, flags);
drivers/dma/at_hdmac.c
1152
return vchan_tx_prep(&atchan->vc, &desc->vd, flags);
drivers/dma/at_hdmac.c
1230
return vchan_tx_prep(&atchan->vc, &desc->vd, flags);
drivers/dma/at_hdmac.c
1392
return vchan_tx_prep(&atchan->vc, &desc->vd, flags);
drivers/dma/at_hdmac.c
1550
return vchan_tx_prep(&atchan->vc, &desc->vd, flags);
drivers/dma/at_hdmac.c
1582
int chan_id = atchan->vc.chan.chan_id;
drivers/dma/at_hdmac.c
1587
spin_lock_irqsave(&atchan->vc.lock, flags);
drivers/dma/at_hdmac.c
1592
spin_unlock_irqrestore(&atchan->vc.lock, flags);
drivers/dma/at_hdmac.c
1601
int chan_id = atchan->vc.chan.chan_id;
drivers/dma/at_hdmac.c
1609
spin_lock_irqsave(&atchan->vc.lock, flags);
drivers/dma/at_hdmac.c
1614
spin_unlock_irqrestore(&atchan->vc.lock, flags);
drivers/dma/at_hdmac.c
1623
int chan_id = atchan->vc.chan.chan_id;
drivers/dma/at_hdmac.c
1636
spin_lock_irqsave(&atchan->vc.lock, flags);
drivers/dma/at_hdmac.c
1650
vchan_get_all_descriptors(&atchan->vc, &list);
drivers/dma/at_hdmac.c
1656
spin_unlock_irqrestore(&atchan->vc.lock, flags);
drivers/dma/at_hdmac.c
1658
vchan_dma_desc_free_list(&atchan->vc, &list);
drivers/dma/at_hdmac.c
1688
spin_lock_irqsave(&atchan->vc.lock, flags);
drivers/dma/at_hdmac.c
1691
spin_unlock_irqrestore(&atchan->vc.lock, flags);
drivers/dma/at_hdmac.c
1711
spin_lock_irqsave(&atchan->vc.lock, flags);
drivers/dma/at_hdmac.c
1712
if (vchan_issue_pending(&atchan->vc) && !atchan->desc) {
drivers/dma/at_hdmac.c
1716
spin_unlock_irqrestore(&atchan->vc.lock, flags);
drivers/dma/at_hdmac.c
2035
atchan->vc.desc_free = atdma_desc_free;
drivers/dma/at_hdmac.c
2036
vchan_init(&atchan->vc, &atdma->dma_device);
drivers/dma/at_hdmac.c
2167
struct dma_chan *chan = &atchan->vc.chan;
drivers/dma/at_hdmac.c
2208
struct at_dma *atdma = to_at_dma(atchan->vc.chan.device);
drivers/dma/at_hdmac.c
284
struct virt_dma_chan vc;
drivers/dma/at_hdmac.c
373
return container_of(chan, struct at_dma_chan, vc.chan);
drivers/dma/at_hdmac.c
392
struct at_dma *atdma = to_at_dma(atchan->vc.chan.device);
drivers/dma/at_hdmac.c
394
dev_err(chan2dev(&atchan->vc.chan),
drivers/dma/at_hdmac.c
396
atchan->vc.chan.chan_id,
drivers/dma/at_hdmac.c
400
dev_err(chan2dev(&atchan->vc.chan),
drivers/dma/at_hdmac.c
415
dev_crit(chan2dev(&atchan->vc.chan),
drivers/dma/at_hdmac.c
452
struct at_dma *atdma = to_at_dma(atchan->vc.chan.device);
drivers/dma/at_hdmac.c
560
struct virt_dma_desc *vd = vchan_next_desc(&atchan->vc);
drivers/dma/at_hdmac.c
754
vd = vchan_find_desc(&atchan->vc, cookie);
drivers/dma/at_hdmac.c
793
dev_crit(chan2dev(&atchan->vc.chan), "Bad descriptor submitted for DMA!\n");
drivers/dma/at_hdmac.c
794
dev_crit(chan2dev(&atchan->vc.chan), "cookie: %d\n",
drivers/dma/at_hdmac.c
805
spin_lock(&atchan->vc.lock);
drivers/dma/at_hdmac.c
823
spin_unlock(&atchan->vc.lock);
drivers/dma/at_hdmac.c
959
return vchan_tx_prep(&atchan->vc, &desc->vd, flags);
drivers/dma/bcm2835-dma.c
195
return container_of(c, struct bcm2835_chan, vc.chan);
drivers/dma/bcm2835-dma.c
415
dev_err(c->vc.chan.device->dev,
drivers/dma/bcm2835-dma.c
423
struct virt_dma_desc *vd = vchan_next_desc(&c->vc);
drivers/dma/bcm2835-dma.c
454
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/bcm2835-dma.c
478
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/bcm2835-dma.c
486
struct device *dev = c->vc.chan.device->dev;
drivers/dma/bcm2835-dma.c
509
vchan_free_chan_resources(&c->vc);
drivers/dma/bcm2835-dma.c
513
dev_dbg(c->vc.chan.device->dev, "Freeing DMA channel %u\n", c->ch);
drivers/dma/bcm2835-dma.c
557
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/bcm2835-dma.c
558
vd = vchan_find_desc(&c->vc, cookie);
drivers/dma/bcm2835-dma.c
578
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/bcm2835-dma.c
588
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/bcm2835-dma.c
589
if (vchan_issue_pending(&c->vc) && !c->desc)
drivers/dma/bcm2835-dma.c
592
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/bcm2835-dma.c
620
return vchan_tx_prep(&c->vc, &d->vd, flags);
drivers/dma/bcm2835-dma.c
672
return vchan_tx_prep(&c->vc, &d->vd, flags);
drivers/dma/bcm2835-dma.c
69
struct virt_dma_chan vc;
drivers/dma/bcm2835-dma.c
758
return vchan_tx_prep(&c->vc, &d->vd, flags);
drivers/dma/bcm2835-dma.c
777
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/bcm2835-dma.c
786
vchan_get_all_descriptors(&c->vc, &head);
drivers/dma/bcm2835-dma.c
787
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/bcm2835-dma.c
788
vchan_dma_desc_free_list(&c->vc, &head);
drivers/dma/bcm2835-dma.c
797
vchan_synchronize(&c->vc);
drivers/dma/bcm2835-dma.c
809
c->vc.desc_free = bcm2835_dma_desc_free;
drivers/dma/bcm2835-dma.c
810
vchan_init(&c->vc, &d->ddev);
drivers/dma/bcm2835-dma.c
830
vc.chan.device_node) {
drivers/dma/bcm2835-dma.c
831
list_del(&c->vc.chan.device_node);
drivers/dma/bcm2835-dma.c
832
tasklet_kill(&c->vc.task);
drivers/dma/bcm2835-dma.c
867
vc.chan.device_node) {
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1016
return vchan_tx_prep(&chan->vc, &desc->vd, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1038
dev_err(dchan2dev(&chan->vc.chan), "NULL LLI\n");
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1042
dev_err(dchan2dev(&chan->vc.chan),
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1067
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1072
vd = vchan_next_desc(&chan->vc);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1093
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1106
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1114
vd = vchan_next_desc(&chan->vc);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1147
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1204
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1206
vchan_get_all_descriptors(&chan->vc, &head);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1209
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1211
vchan_dma_desc_free_list(&chan->vc, &head);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1225
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1264
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1308
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1313
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1374
dchan = dma_get_slave_channel(&chan->vc.chan);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1557
chan->vc.desc_free = vchan_desc_put;
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1558
vchan_init(&chan->vc, &dw->dma);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1664
vc.chan.device_node) {
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1665
list_del(&chan->vc.chan.device_node);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
1666
tasklet_kill(&chan->vc.task);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
290
return dma_chan_name(&chan->vc.chan);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
373
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
375
vdesc = vchan_find_desc(&chan->vc, cookie);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
384
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
488
vd = vchan_next_desc(&chan->vc);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
503
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
504
if (vchan_issue_pending(&chan->vc))
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
506
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
513
vchan_synchronize(&chan->vc);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
560
vchan_free_chan_resources(&chan->vc);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
834
return vchan_tx_prep(&chan->vc, &desc->vd, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
912
return vchan_tx_prep(&chan->vc, &desc->vd, flags);
drivers/dma/dw-axi-dmac/dw-axi-dmac.h
129
return &chan->vc.chan.dev->device;
drivers/dma/dw-axi-dmac/dw-axi-dmac.h
137
static inline struct axi_dma_chan *vc_to_axi_dma_chan(struct virt_dma_chan *vc)
drivers/dma/dw-axi-dmac/dw-axi-dmac.h
139
return container_of(vc, struct axi_dma_chan, vc);
drivers/dma/dw-axi-dmac/dw-axi-dmac.h
48
struct virt_dma_chan vc;
drivers/dma/dw-edma/dw-edma-core.c
1172
vc.chan.device_node) {
drivers/dma/dw-edma/dw-edma-core.c
1173
tasklet_kill(&chan->vc.task);
drivers/dma/dw-edma/dw-edma-core.c
1174
list_del(&chan->vc.chan.device_node);
drivers/dma/dw-edma/dw-edma-core.c
181
vd = vchan_next_desc(&chan->vc);
drivers/dma/dw-edma/dw-edma-core.c
342
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/dw-edma/dw-edma-core.c
343
if (vchan_issue_pending(&chan->vc) && chan->request == EDMA_REQ_NONE &&
drivers/dma/dw-edma/dw-edma-core.c
348
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/dw-edma/dw-edma-core.c
372
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/dw-edma/dw-edma-core.c
373
vd = vchan_find_desc(&chan->vc, cookie);
drivers/dma/dw-edma/dw-edma-core.c
379
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/dw-edma/dw-edma-core.c
570
return vchan_tx_prep(&chan->vc, &desc->vd, xfer->flags);
drivers/dma/dw-edma/dw-edma-core.c
657
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/dw-edma/dw-edma-core.c
658
vd = vchan_next_desc(&chan->vc);
drivers/dma/dw-edma/dw-edma-core.c
691
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/dw-edma/dw-edma-core.c
699
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/dw-edma/dw-edma-core.c
700
vd = vchan_next_desc(&chan->vc);
drivers/dma/dw-edma/dw-edma-core.c
706
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/dw-edma/dw-edma-core.c
941
chan->vc.desc_free = vchan_free_desc;
drivers/dma/dw-edma/dw-edma-core.c
942
chan->vc.chan.private = chan->dir == EDMA_DIR_WRITE ?
drivers/dma/dw-edma/dw-edma-core.c
946
vchan_init(&chan->vc, dma);
drivers/dma/dw-edma/dw-edma-core.h
158
struct dw_edma_chan *vc2dw_edma_chan(struct virt_dma_chan *vc)
drivers/dma/dw-edma/dw-edma-core.h
160
return container_of(vc, struct dw_edma_chan, vc);
drivers/dma/dw-edma/dw-edma-core.h
75
struct virt_dma_chan vc;
drivers/dma/hisi_dma.c
145
struct virt_dma_chan vc;
drivers/dma/hisi_dma.c
322
return container_of(c, struct hisi_dma_chan, vc.chan);
drivers/dma/hisi_dma.c
467
vchan_free_chan_resources(&chan->vc);
drivers/dma/hisi_dma.c
496
return vchan_tx_prep(&chan->vc, &desc->vd, flags);
drivers/dma/hisi_dma.c
513
vd = vchan_next_desc(&chan->vc);
drivers/dma/hisi_dma.c
544
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/hisi_dma.c
546
if (vchan_issue_pending(&chan->vc) && !chan->desc)
drivers/dma/hisi_dma.c
549
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/hisi_dma.c
558
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/hisi_dma.c
566
vchan_get_all_descriptors(&chan->vc, &head);
drivers/dma/hisi_dma.c
568
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/hisi_dma.c
570
vchan_dma_desc_free_list(&chan->vc, &head);
drivers/dma/hisi_dma.c
580
vchan_synchronize(&chan->vc);
drivers/dma/hisi_dma.c
711
hdma_dev->chan[i].vc.desc_free = hisi_dma_desc_free;
drivers/dma/hisi_dma.c
712
vchan_init(&hdma_dev->chan[i].vc, &hdma_dev->dma_dev);
drivers/dma/hisi_dma.c
723
tasklet_kill(&hdma_dev->chan[i].vc.task);
drivers/dma/hisi_dma.c
735
spin_lock(&chan->vc.lock);
drivers/dma/hisi_dma.c
752
spin_unlock(&chan->vc.lock);
drivers/dma/img-mdc-dma.c
1029
vc.chan.device_node) {
drivers/dma/img-mdc-dma.c
1030
list_del(&mchan->vc.chan.device_node);
drivers/dma/img-mdc-dma.c
1034
tasklet_kill(&mchan->vc.task);
drivers/dma/img-mdc-dma.c
118
struct virt_dma_chan vc;
drivers/dma/img-mdc-dma.c
170
return container_of(to_virt_chan(c), struct mdc_chan, vc);
drivers/dma/img-mdc-dma.c
331
return vchan_tx_prep(&mchan->vc, &mdesc->vd, flags);
drivers/dma/img-mdc-dma.c
438
return vchan_tx_prep(&mchan->vc, &mdesc->vd, flags);
drivers/dma/img-mdc-dma.c
515
return vchan_tx_prep(&mchan->vc, &mdesc->vd, flags);
drivers/dma/img-mdc-dma.c
530
vd = vchan_next_desc(&mchan->vc);
drivers/dma/img-mdc-dma.c
564
spin_lock_irqsave(&mchan->vc.lock, flags);
drivers/dma/img-mdc-dma.c
565
if (vchan_issue_pending(&mchan->vc) && !mchan->desc)
drivers/dma/img-mdc-dma.c
567
spin_unlock_irqrestore(&mchan->vc.lock, flags);
drivers/dma/img-mdc-dma.c
587
spin_lock_irqsave(&mchan->vc.lock, flags);
drivers/dma/img-mdc-dma.c
588
vd = vchan_find_desc(&mchan->vc, cookie);
drivers/dma/img-mdc-dma.c
641
spin_unlock_irqrestore(&mchan->vc.lock, flags);
drivers/dma/img-mdc-dma.c
696
spin_lock_irqsave(&mchan->vc.lock, flags);
drivers/dma/img-mdc-dma.c
705
vchan_get_all_descriptors(&mchan->vc, &head);
drivers/dma/img-mdc-dma.c
709
spin_unlock_irqrestore(&mchan->vc.lock, flags);
drivers/dma/img-mdc-dma.c
711
vchan_dma_desc_free_list(&mchan->vc, &head);
drivers/dma/img-mdc-dma.c
720
vchan_synchronize(&mchan->vc);
drivers/dma/img-mdc-dma.c
729
spin_lock_irqsave(&mchan->vc.lock, flags);
drivers/dma/img-mdc-dma.c
731
spin_unlock_irqrestore(&mchan->vc.lock, flags);
drivers/dma/img-mdc-dma.c
761
spin_lock(&mchan->vc.lock);
drivers/dma/img-mdc-dma.c
802
spin_unlock(&mchan->vc.lock);
drivers/dma/img-mdc-dma.c
981
mchan->vc.desc_free = mdc_desc_free;
drivers/dma/img-mdc-dma.c
982
vchan_init(&mchan->vc, &mdma->dma_dev);
drivers/dma/imx-sdma.c
1172
return container_of(chan, struct sdma_channel, vc.chan);
drivers/dma/imx-sdma.c
1198
vchan_dma_desc_free_list(&sdmac->vc, &sdmac->terminated);
drivers/dma/imx-sdma.c
1206
spin_lock_irqsave(&sdmac->vc.lock, flags);
drivers/dma/imx-sdma.c
1218
vchan_get_all_descriptors(&sdmac->vc, &sdmac->terminated);
drivers/dma/imx-sdma.c
1223
spin_unlock_irqrestore(&sdmac->vc.lock, flags);
drivers/dma/imx-sdma.c
1232
vchan_synchronize(&sdmac->vc);
drivers/dma/imx-sdma.c
1635
return vchan_tx_prep(&sdmac->vc, &desc->vd, flags);
drivers/dma/imx-sdma.c
1716
return vchan_tx_prep(&sdmac->vc, &desc->vd, flags);
drivers/dma/imx-sdma.c
1759
return vchan_tx_prep(&sdmac->vc, &desc->vd, flags);
drivers/dma/imx-sdma.c
1793
return vchan_tx_prep(&sdmac->vc, &desc->vd, flags);
drivers/dma/imx-sdma.c
1888
spin_lock_irqsave(&sdmac->vc.lock, flags);
drivers/dma/imx-sdma.c
1890
vd = vchan_find_desc(&sdmac->vc, cookie);
drivers/dma/imx-sdma.c
1906
spin_unlock_irqrestore(&sdmac->vc.lock, flags);
drivers/dma/imx-sdma.c
1919
spin_lock_irqsave(&sdmac->vc.lock, flags);
drivers/dma/imx-sdma.c
1920
if (vchan_issue_pending(&sdmac->vc) && !sdmac->desc)
drivers/dma/imx-sdma.c
1922
spin_unlock_irqrestore(&sdmac->vc.lock, flags);
drivers/dma/imx-sdma.c
2305
sdmac->vc.desc_free = sdma_desc_free;
drivers/dma/imx-sdma.c
2315
vchan_init(&sdmac->vc, &sdma->dma_device);
drivers/dma/imx-sdma.c
2406
tasklet_kill(&sdmac->vc.task);
drivers/dma/imx-sdma.c
2407
sdma_free_chan_resources(&sdmac->vc.chan);
drivers/dma/imx-sdma.c
447
struct virt_dma_chan vc;
drivers/dma/imx-sdma.c
841
struct virt_dma_desc *vd = vchan_next_desc(&sdmac->vc);
drivers/dma/imx-sdma.c
899
spin_unlock(&sdmac->vc.lock);
drivers/dma/imx-sdma.c
901
spin_lock(&sdmac->vc.lock);
drivers/dma/imx-sdma.c
960
spin_lock(&sdmac->vc.lock);
drivers/dma/imx-sdma.c
975
spin_unlock(&sdmac->vc.lock);
drivers/dma/k3dma.c
130
return container_of(chan, struct k3_dma_chan, vc.chan);
drivers/dma/k3dma.c
229
spin_lock(&c->vc.lock);
drivers/dma/k3dma.c
235
spin_unlock(&c->vc.lock);
drivers/dma/k3dma.c
238
spin_lock(&c->vc.lock);
drivers/dma/k3dma.c
241
spin_unlock(&c->vc.lock);
drivers/dma/k3dma.c
265
struct k3_dma_dev *d = to_k3_dma(c->vc.chan.device);
drivers/dma/k3dma.c
266
struct virt_dma_desc *vd = vchan_next_desc(&c->vc);
drivers/dma/k3dma.c
306
list_for_each_entry_safe(c, cn, &d->slave.channels, vc.chan.device_node) {
drivers/dma/k3dma.c
307
spin_lock_irq(&c->vc.lock);
drivers/dma/k3dma.c
318
spin_unlock_irq(&c->vc.lock);
drivers/dma/k3dma.c
338
dev_dbg(d->slave.dev, "pchan %u: alloc vchan %p\n", pch, &c->vc);
drivers/dma/k3dma.c
351
spin_lock_irq(&c->vc.lock);
drivers/dma/k3dma.c
353
spin_unlock_irq(&c->vc.lock);
drivers/dma/k3dma.c
369
vchan_free_chan_resources(&c->vc);
drivers/dma/k3dma.c
384
ret = dma_cookie_status(&c->vc.chan, cookie, state);
drivers/dma/k3dma.c
388
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/k3dma.c
396
vd = vchan_find_desc(&c->vc, cookie);
drivers/dma/k3dma.c
416
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/k3dma.c
427
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/k3dma.c
429
if (vchan_issue_pending(&c->vc)) {
drivers/dma/k3dma.c
437
dev_dbg(d->slave.dev, "vchan %p: issued\n", &c->vc);
drivers/dma/k3dma.c
442
dev_dbg(d->slave.dev, "vchan %p: nothing to issue\n", &c->vc);
drivers/dma/k3dma.c
443
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/k3dma.c
470
&c->vc, num, lli_limit);
drivers/dma/k3dma.c
480
dev_dbg(chan->device->dev, "vch %p: dma alloc fail\n", &c->vc);
drivers/dma/k3dma.c
527
return vchan_tx_prep(&c->vc, &ds->vd, flags);
drivers/dma/k3dma.c
578
return vchan_tx_prep(&c->vc, &ds->vd, flags);
drivers/dma/k3dma.c
646
return vchan_tx_prep(&c->vc, &ds->vd, flags);
drivers/dma/k3dma.c
699
c->ccfg |= c->vc.chan.chan_id << 4;
drivers/dma/k3dma.c
722
dev_dbg(d->slave.dev, "vchan %p: terminate all\n", &c->vc);
drivers/dma/k3dma.c
730
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/k3dma.c
731
vchan_get_all_descriptors(&c->vc, &head);
drivers/dma/k3dma.c
743
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/k3dma.c
744
vchan_dma_desc_free_list(&c->vc, &head);
drivers/dma/k3dma.c
753
vchan_synchronize(&c->vc);
drivers/dma/k3dma.c
762
dev_dbg(d->slave.dev, "vchan %p: pause\n", &c->vc);
drivers/dma/k3dma.c
784
dev_dbg(d->slave.dev, "vchan %p: resume\n", &c->vc);
drivers/dma/k3dma.c
785
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/k3dma.c
790
} else if (!list_empty(&c->vc.desc_issued)) {
drivers/dma/k3dma.c
796
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/k3dma.c
81
struct virt_dma_chan vc;
drivers/dma/k3dma.c
829
return dma_get_slave_channel(&(d->chans[request].vc.chan));
drivers/dma/k3dma.c
930
c->vc.desc_free = k3_dma_free_desc;
drivers/dma/k3dma.c
931
vchan_init(&c->vc, &d->slave);
drivers/dma/k3dma.c
977
list_for_each_entry_safe(c, cn, &d->slave.channels, vc.chan.device_node) {
drivers/dma/k3dma.c
978
list_del(&c->vc.chan.device_node);
drivers/dma/k3dma.c
979
tasklet_kill(&c->vc.task);
drivers/dma/lgm/lgm-dma.c
1310
struct virt_dma_chan *vc = &c->vchan;
drivers/dma/lgm/lgm-dma.c
1317
list_splice_tail_init(&vc->desc_completed, &head);
drivers/dma/loongson/loongson1-apb-dma.c
100
struct dma_chan *dchan = &chan->vc.chan;
drivers/dma/loongson/loongson1-apb-dma.c
118
struct dma_chan *dchan = &chan->vc.chan;
drivers/dma/loongson/loongson1-apb-dma.c
153
vchan_free_chan_resources(&chan->vc);
drivers/dma/loongson/loongson1-apb-dma.c
379
guard(spinlock_irqsave)(&chan->vc.lock);
drivers/dma/loongson/loongson1-apb-dma.c
392
guard(spinlock_irqsave)(&chan->vc.lock);
drivers/dma/loongson/loongson1-apb-dma.c
405
scoped_guard(spinlock_irqsave, &chan->vc.lock) {
drivers/dma/loongson/loongson1-apb-dma.c
406
vd = vchan_next_desc(&chan->vc);
drivers/dma/loongson/loongson1-apb-dma.c
410
vchan_get_all_descriptors(&chan->vc, &head);
drivers/dma/loongson/loongson1-apb-dma.c
413
vchan_dma_desc_free_list(&chan->vc, &head);
drivers/dma/loongson/loongson1-apb-dma.c
436
scoped_guard(spinlock_irqsave, &chan->vc.lock) {
drivers/dma/loongson/loongson1-apb-dma.c
437
vd = vchan_find_desc(&chan->vc, cookie);
drivers/dma/loongson/loongson1-apb-dma.c
472
guard(spinlock_irqsave)(&chan->vc.lock);
drivers/dma/loongson/loongson1-apb-dma.c
474
if (vchan_issue_pending(&chan->vc)) {
drivers/dma/loongson/loongson1-apb-dma.c
475
struct virt_dma_desc *vd = vchan_next_desc(&chan->vc);
drivers/dma/loongson/loongson1-apb-dma.c
491
struct dma_chan *dchan = &chan->vc.chan;
drivers/dma/loongson/loongson1-apb-dma.c
495
scoped_guard(spinlock, &chan->vc.lock) {
drivers/dma/loongson/loongson1-apb-dma.c
496
vd = vchan_next_desc(&chan->vc);
drivers/dma/loongson/loongson1-apb-dma.c
539
chan->vc.desc_free = ls1x_dma_free_desc;
drivers/dma/loongson/loongson1-apb-dma.c
540
vchan_init(&chan->vc, &dma->ddev);
drivers/dma/loongson/loongson1-apb-dma.c
553
if (chan->vc.chan.device == &dma->ddev) {
drivers/dma/loongson/loongson1-apb-dma.c
554
list_del(&chan->vc.chan.device_node);
drivers/dma/loongson/loongson1-apb-dma.c
555
tasklet_kill(&chan->vc.task);
drivers/dma/loongson/loongson1-apb-dma.c
65
struct virt_dma_chan vc;
drivers/dma/loongson/loongson1-apb-dma.c
87
container_of(dchan, struct ls1x_dma_chan, vc.chan)
drivers/dma/mediatek/mtk-cqdma.c
122
struct virt_dma_chan vc;
drivers/dma/mediatek/mtk-cqdma.c
144
struct mtk_cqdma_vchan *vc;
drivers/dma/mediatek/mtk-cqdma.c
155
return container_of(chan, struct mtk_cqdma_vchan, vc.chan);
drivers/dma/mediatek/mtk-cqdma.c
272
lockdep_assert_held(&cvc->vc.lock);
drivers/dma/mediatek/mtk-cqdma.c
275
list_for_each_entry_safe(vd, vd2, &cvc->vc.desc_issued, node) {
drivers/dma/mediatek/mtk-cqdma.c
333
spin_lock(&cvc->vc.lock);
drivers/dma/mediatek/mtk-cqdma.c
347
spin_unlock(&cvc->vc.lock);
drivers/dma/mediatek/mtk-cqdma.c
429
list_for_each_entry(vd, &cvc->vc.desc_issued, node)
drivers/dma/mediatek/mtk-cqdma.c
452
spin_lock(&cvc->vc.lock);
drivers/dma/mediatek/mtk-cqdma.c
454
spin_unlock(&cvc->vc.lock);
drivers/dma/mediatek/mtk-cqdma.c
475
spin_lock_irqsave(&cvc->vc.lock, vc_flags);
drivers/dma/mediatek/mtk-cqdma.c
477
if (vchan_issue_pending(&cvc->vc))
drivers/dma/mediatek/mtk-cqdma.c
480
spin_unlock_irqrestore(&cvc->vc.lock, vc_flags);
drivers/dma/mediatek/mtk-cqdma.c
550
struct virt_dma_chan *vc = to_virt_chan(c);
drivers/dma/mediatek/mtk-cqdma.c
558
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/mediatek/mtk-cqdma.c
559
list_splice_tail_init(&vc->desc_allocated, &head);
drivers/dma/mediatek/mtk-cqdma.c
560
list_splice_tail_init(&vc->desc_submitted, &head);
drivers/dma/mediatek/mtk-cqdma.c
561
list_splice_tail_init(&vc->desc_issued, &head);
drivers/dma/mediatek/mtk-cqdma.c
562
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/mediatek/mtk-cqdma.c
565
vchan_dma_desc_free_list(vc, &head);
drivers/dma/mediatek/mtk-cqdma.c
577
spin_lock_irqsave(&cvc->vc.lock, vc_flags);
drivers/dma/mediatek/mtk-cqdma.c
585
spin_unlock_irqrestore(&cvc->vc.lock, vc_flags);
drivers/dma/mediatek/mtk-cqdma.c
593
vchan_synchronize(&cvc->vc);
drivers/dma/mediatek/mtk-cqdma.c
595
WARN_ONCE(!list_empty(&cvc->vc.desc_completed),
drivers/dma/mediatek/mtk-cqdma.c
613
struct mtk_cqdma_vchan *vc = to_cqdma_vchan(c);
drivers/dma/mediatek/mtk-cqdma.c
650
vc->pc = pc;
drivers/dma/mediatek/mtk-cqdma.c
749
struct mtk_cqdma_vchan *vc;
drivers/dma/mediatek/mtk-cqdma.c
839
cqdma->vc = devm_kcalloc(&pdev->dev, cqdma->dma_requests,
drivers/dma/mediatek/mtk-cqdma.c
840
sizeof(*cqdma->vc), GFP_KERNEL);
drivers/dma/mediatek/mtk-cqdma.c
841
if (!cqdma->vc)
drivers/dma/mediatek/mtk-cqdma.c
845
vc = &cqdma->vc[i];
drivers/dma/mediatek/mtk-cqdma.c
846
vc->vc.desc_free = mtk_cqdma_vdesc_free;
drivers/dma/mediatek/mtk-cqdma.c
847
vchan_init(&vc->vc, dd);
drivers/dma/mediatek/mtk-cqdma.c
848
init_completion(&vc->issue_completion);
drivers/dma/mediatek/mtk-cqdma.c
889
struct mtk_cqdma_vchan *vc;
drivers/dma/mediatek/mtk-cqdma.c
895
vc = &cqdma->vc[i];
drivers/dma/mediatek/mtk-cqdma.c
897
list_del(&vc->vc.chan.device_node);
drivers/dma/mediatek/mtk-cqdma.c
898
tasklet_kill(&vc->vc.task);
drivers/dma/mediatek/mtk-hsdma.c
1015
struct mtk_hsdma_vchan *vc;
drivers/dma/mediatek/mtk-hsdma.c
1020
vc = &hsdma->vc[i];
drivers/dma/mediatek/mtk-hsdma.c
1022
list_del(&vc->vc.chan.device_node);
drivers/dma/mediatek/mtk-hsdma.c
1023
tasklet_kill(&vc->vc.task);
drivers/dma/mediatek/mtk-hsdma.c
200
struct virt_dma_chan vc;
drivers/dma/mediatek/mtk-hsdma.c
238
struct mtk_hsdma_vchan *vc;
drivers/dma/mediatek/mtk-hsdma.c
255
return container_of(chan, struct mtk_hsdma_vchan, vc.chan);
drivers/dma/mediatek/mtk-hsdma.c
500
lockdep_assert_held(&hvc->vc.lock);
drivers/dma/mediatek/mtk-hsdma.c
502
list_for_each_entry_safe(vd, vd2, &hvc->vc.desc_issued, node) {
drivers/dma/mediatek/mtk-hsdma.c
585
spin_lock(&hvc->vc.lock);
drivers/dma/mediatek/mtk-hsdma.c
598
spin_unlock(&hvc->vc.lock);
drivers/dma/mediatek/mtk-hsdma.c
633
hvc = &hsdma->vc[i];
drivers/dma/mediatek/mtk-hsdma.c
634
spin_lock(&hvc->vc.lock);
drivers/dma/mediatek/mtk-hsdma.c
636
spin_unlock(&hvc->vc.lock);
drivers/dma/mediatek/mtk-hsdma.c
669
list_for_each_entry(vd, &hvc->vc.desc_issued, node)
drivers/dma/mediatek/mtk-hsdma.c
691
spin_lock_irqsave(&hvc->vc.lock, flags);
drivers/dma/mediatek/mtk-hsdma.c
693
spin_unlock_irqrestore(&hvc->vc.lock, flags);
drivers/dma/mediatek/mtk-hsdma.c
711
spin_lock_irqsave(&hvc->vc.lock, flags);
drivers/dma/mediatek/mtk-hsdma.c
713
if (vchan_issue_pending(&hvc->vc))
drivers/dma/mediatek/mtk-hsdma.c
716
spin_unlock_irqrestore(&hvc->vc.lock, flags);
drivers/dma/mediatek/mtk-hsdma.c
739
struct virt_dma_chan *vc = to_virt_chan(c);
drivers/dma/mediatek/mtk-hsdma.c
743
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/mediatek/mtk-hsdma.c
744
list_splice_tail_init(&vc->desc_allocated, &head);
drivers/dma/mediatek/mtk-hsdma.c
745
list_splice_tail_init(&vc->desc_submitted, &head);
drivers/dma/mediatek/mtk-hsdma.c
746
list_splice_tail_init(&vc->desc_issued, &head);
drivers/dma/mediatek/mtk-hsdma.c
747
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/mediatek/mtk-hsdma.c
750
vchan_dma_desc_free_list(vc, &head);
drivers/dma/mediatek/mtk-hsdma.c
765
spin_lock(&hvc->vc.lock);
drivers/dma/mediatek/mtk-hsdma.c
770
spin_unlock(&hvc->vc.lock);
drivers/dma/mediatek/mtk-hsdma.c
782
vchan_synchronize(&hvc->vc);
drivers/dma/mediatek/mtk-hsdma.c
784
WARN_ONCE(!list_empty(&hvc->vc.desc_completed),
drivers/dma/mediatek/mtk-hsdma.c
896
struct mtk_hsdma_vchan *vc;
drivers/dma/mediatek/mtk-hsdma.c
961
hsdma->vc = devm_kcalloc(&pdev->dev, hsdma->dma_requests,
drivers/dma/mediatek/mtk-hsdma.c
962
sizeof(*hsdma->vc), GFP_KERNEL);
drivers/dma/mediatek/mtk-hsdma.c
963
if (!hsdma->vc)
drivers/dma/mediatek/mtk-hsdma.c
967
vc = &hsdma->vc[i];
drivers/dma/mediatek/mtk-hsdma.c
968
vc->vc.desc_free = mtk_hsdma_vdesc_free;
drivers/dma/mediatek/mtk-hsdma.c
969
vchan_init(&vc->vc, dd);
drivers/dma/mediatek/mtk-hsdma.c
970
init_completion(&vc->issue_completion);
drivers/dma/mediatek/mtk-hsdma.c
971
INIT_LIST_HEAD(&vc->desc_hw_processing);
drivers/dma/mediatek/mtk-uart-apdma.c
111
return container_of(c, struct mtk_chan, vc.chan);
drivers/dma/mediatek/mtk-uart-apdma.c
139
to_mtk_uart_apdma_dev(c->vc.chan.device);
drivers/dma/mediatek/mtk-uart-apdma.c
157
dev_err(c->vc.chan.device->dev, "Enable TX fail\n");
drivers/dma/mediatek/mtk-uart-apdma.c
182
to_mtk_uart_apdma_dev(c->vc.chan.device);
drivers/dma/mediatek/mtk-uart-apdma.c
201
dev_err(c->vc.chan.device->dev, "Enable RX fail\n");
drivers/dma/mediatek/mtk-uart-apdma.c
258
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/mediatek/mtk-uart-apdma.c
264
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/mediatek/mtk-uart-apdma.c
315
tasklet_kill(&c->vc.task);
drivers/dma/mediatek/mtk-uart-apdma.c
317
vchan_free_chan_resources(&c->vc);
drivers/dma/mediatek/mtk-uart-apdma.c
362
return vchan_tx_prep(&c->vc, &d->vd, tx_flags);
drivers/dma/mediatek/mtk-uart-apdma.c
371
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/mediatek/mtk-uart-apdma.c
372
if (vchan_issue_pending(&c->vc) && !c->desc) {
drivers/dma/mediatek/mtk-uart-apdma.c
373
vd = vchan_next_desc(&c->vc);
drivers/dma/mediatek/mtk-uart-apdma.c
382
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/mediatek/mtk-uart-apdma.c
408
dev_err(c->vc.chan.device->dev, "flush: fail, status=0x%x\n",
drivers/dma/mediatek/mtk-uart-apdma.c
421
dev_err(c->vc.chan.device->dev, "stop: fail, status=0x%x\n",
drivers/dma/mediatek/mtk-uart-apdma.c
434
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/mediatek/mtk-uart-apdma.c
435
vchan_get_all_descriptors(&c->vc, &head);
drivers/dma/mediatek/mtk-uart-apdma.c
436
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/mediatek/mtk-uart-apdma.c
438
vchan_dma_desc_free_list(&c->vc, &head);
drivers/dma/mediatek/mtk-uart-apdma.c
448
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/mediatek/mtk-uart-apdma.c
453
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/mediatek/mtk-uart-apdma.c
463
struct mtk_chan, vc.chan.device_node);
drivers/dma/mediatek/mtk-uart-apdma.c
465
list_del(&c->vc.chan.device_node);
drivers/dma/mediatek/mtk-uart-apdma.c
466
tasklet_kill(&c->vc.task);
drivers/dma/mediatek/mtk-uart-apdma.c
543
c->vc.desc_free = mtk_uart_apdma_desc_free;
drivers/dma/mediatek/mtk-uart-apdma.c
544
vchan_init(&c->vc, &mtkd->ddev);
drivers/dma/mediatek/mtk-uart-apdma.c
92
struct virt_dma_chan vc;
drivers/dma/milbeaut-hdmac.c
101
vd = vchan_next_desc(&mc->vc);
drivers/dma/milbeaut-hdmac.c
177
spin_lock(&mc->vc.lock);
drivers/dma/milbeaut-hdmac.c
203
spin_unlock(&mc->vc.lock);
drivers/dma/milbeaut-hdmac.c
215
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/milbeaut-hdmac.c
216
struct milbeaut_hdmac_chan *mc = to_milbeaut_hdmac_chan(vc);
drivers/dma/milbeaut-hdmac.c
218
spin_lock(&mc->vc.lock);
drivers/dma/milbeaut-hdmac.c
220
spin_unlock(&mc->vc.lock);
drivers/dma/milbeaut-hdmac.c
227
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/milbeaut-hdmac.c
228
struct milbeaut_hdmac_chan *mc = to_milbeaut_hdmac_chan(vc);
drivers/dma/milbeaut-hdmac.c
231
spin_lock(&mc->vc.lock);
drivers/dma/milbeaut-hdmac.c
235
spin_unlock(&mc->vc.lock);
drivers/dma/milbeaut-hdmac.c
242
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/milbeaut-hdmac.c
243
struct milbeaut_hdmac_chan *mc = to_milbeaut_hdmac_chan(vc);
drivers/dma/milbeaut-hdmac.c
246
spin_lock(&mc->vc.lock);
drivers/dma/milbeaut-hdmac.c
250
spin_unlock(&mc->vc.lock);
drivers/dma/milbeaut-hdmac.c
261
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/milbeaut-hdmac.c
284
return vchan_tx_prep(vc, &md->vd, flags);
drivers/dma/milbeaut-hdmac.c
289
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/milbeaut-hdmac.c
290
struct milbeaut_hdmac_chan *mc = to_milbeaut_hdmac_chan(vc);
drivers/dma/milbeaut-hdmac.c
296
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/milbeaut-hdmac.c
307
vchan_get_all_descriptors(vc, &head);
drivers/dma/milbeaut-hdmac.c
309
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/milbeaut-hdmac.c
311
vchan_dma_desc_free_list(vc, &head);
drivers/dma/milbeaut-hdmac.c
325
struct virt_dma_chan *vc;
drivers/dma/milbeaut-hdmac.c
338
vc = to_virt_chan(chan);
drivers/dma/milbeaut-hdmac.c
340
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/milbeaut-hdmac.c
342
mc = to_milbeaut_hdmac_chan(vc);
drivers/dma/milbeaut-hdmac.c
364
vd = vchan_find_desc(vc, cookie);
drivers/dma/milbeaut-hdmac.c
375
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/milbeaut-hdmac.c
382
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/milbeaut-hdmac.c
383
struct milbeaut_hdmac_chan *mc = to_milbeaut_hdmac_chan(vc);
drivers/dma/milbeaut-hdmac.c
386
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/milbeaut-hdmac.c
388
if (vchan_issue_pending(vc) && !mc->md)
drivers/dma/milbeaut-hdmac.c
391
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/milbeaut-hdmac.c
407
struct virt_dma_chan *vc;
drivers/dma/milbeaut-hdmac.c
417
vc = to_virt_chan(chan);
drivers/dma/milbeaut-hdmac.c
418
mc = to_milbeaut_hdmac_chan(vc);
drivers/dma/milbeaut-hdmac.c
449
mc->vc.desc_free = milbeaut_hdmac_desc_free;
drivers/dma/milbeaut-hdmac.c
450
vchan_init(&mc->vc, &mdev->ddev);
drivers/dma/milbeaut-hdmac.c
68
struct virt_dma_chan vc;
drivers/dma/milbeaut-hdmac.c
84
to_milbeaut_hdmac_chan(struct virt_dma_chan *vc)
drivers/dma/milbeaut-hdmac.c
86
return container_of(vc, struct milbeaut_hdmac_chan, vc);
drivers/dma/milbeaut-xdmac.c
165
spin_lock(&mc->vc.lock);
drivers/dma/milbeaut-xdmac.c
179
spin_unlock(&mc->vc.lock);
drivers/dma/milbeaut-xdmac.c
192
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/milbeaut-xdmac.c
203
return vchan_tx_prep(vc, &md->vd, flags);
drivers/dma/milbeaut-xdmac.c
208
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/milbeaut-xdmac.c
209
struct milbeaut_xdmac_chan *mc = to_milbeaut_xdmac_chan(vc);
drivers/dma/milbeaut-xdmac.c
215
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/milbeaut-xdmac.c
228
vchan_get_all_descriptors(vc, &head);
drivers/dma/milbeaut-xdmac.c
230
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/milbeaut-xdmac.c
232
vchan_dma_desc_free_list(vc, &head);
drivers/dma/milbeaut-xdmac.c
244
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/milbeaut-xdmac.c
245
struct milbeaut_xdmac_chan *mc = to_milbeaut_xdmac_chan(vc);
drivers/dma/milbeaut-xdmac.c
248
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/milbeaut-xdmac.c
250
if (vchan_issue_pending(vc) && !mc->md)
drivers/dma/milbeaut-xdmac.c
253
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/milbeaut-xdmac.c
286
mc->vc.desc_free = milbeaut_xdmac_desc_free;
drivers/dma/milbeaut-xdmac.c
287
vchan_init(&mc->vc, &mdev->ddev);
drivers/dma/milbeaut-xdmac.c
69
struct virt_dma_chan vc;
drivers/dma/milbeaut-xdmac.c
81
to_milbeaut_xdmac_chan(struct virt_dma_chan *vc)
drivers/dma/milbeaut-xdmac.c
83
return container_of(vc, struct milbeaut_xdmac_chan, vc);
drivers/dma/milbeaut-xdmac.c
98
vd = vchan_next_desc(&mc->vc);
drivers/dma/moxart-dma.c
131
struct virt_dma_chan vc;
drivers/dma/moxart-dma.c
164
return container_of(c, struct moxart_chan, vc.chan);
drivers/dma/moxart-dma.c
187
spin_lock_irqsave(&ch->vc.lock, flags);
drivers/dma/moxart-dma.c
198
vchan_get_all_descriptors(&ch->vc, &head);
drivers/dma/moxart-dma.c
199
spin_unlock_irqrestore(&ch->vc.lock, flags);
drivers/dma/moxart-dma.c
200
vchan_dma_desc_free_list(&ch->vc, &head);
drivers/dma/moxart-dma.c
320
return vchan_tx_prep(&ch->vc, &d->vd, tx_flags);
drivers/dma/moxart-dma.c
355
vchan_free_chan_resources(&ch->vc);
drivers/dma/moxart-dma.c
382
dev_dbg(chan2dev(&ch->vc.chan), "%s: set %u DMA cycles (len=%u)\n",
drivers/dma/moxart-dma.c
415
vd = vchan_next_desc(&ch->vc);
drivers/dma/moxart-dma.c
435
spin_lock_irqsave(&ch->vc.lock, flags);
drivers/dma/moxart-dma.c
436
if (vchan_issue_pending(&ch->vc) && !ch->desc)
drivers/dma/moxart-dma.c
438
spin_unlock_irqrestore(&ch->vc.lock, flags);
drivers/dma/moxart-dma.c
463
dev_dbg(chan2dev(&ch->vc.chan), "%s: size=%zu\n", __func__, size);
drivers/dma/moxart-dma.c
483
spin_lock_irqsave(&ch->vc.lock, flags);
drivers/dma/moxart-dma.c
484
vd = vchan_find_desc(&ch->vc, cookie);
drivers/dma/moxart-dma.c
491
spin_unlock_irqrestore(&ch->vc.lock, flags);
drivers/dma/moxart-dma.c
520
dev_dbg(chan2dev(&ch->vc.chan), "%s\n", __func__);
drivers/dma/moxart-dma.c
528
dev_dbg(chan2dev(&ch->vc.chan), "%s: ch=%p ch->base=%p ctrl=%x\n",
drivers/dma/moxart-dma.c
534
spin_lock(&ch->vc.lock);
drivers/dma/moxart-dma.c
539
moxart_dma_start_desc(&ch->vc.chan);
drivers/dma/moxart-dma.c
541
spin_unlock(&ch->vc.lock);
drivers/dma/moxart-dma.c
592
ch->vc.desc_free = moxart_dma_desc_free;
drivers/dma/moxart-dma.c
593
vchan_init(&ch->vc, &mdc->dma_slave);
drivers/dma/owl-dma.c
1034
return vchan_tx_prep(&vchan->vc, &txd->vd, flags);
drivers/dma/owl-dma.c
1047
vchan_free_chan_resources(&vchan->vc);
drivers/dma/owl-dma.c
1056
next, &od->dma.channels, vc.chan.device_node) {
drivers/dma/owl-dma.c
1057
list_del(&vchan->vc.chan.device_node);
drivers/dma/owl-dma.c
1058
tasklet_kill(&vchan->vc.task);
drivers/dma/owl-dma.c
1193
vchan->vc.desc_free = owl_dma_desc_free;
drivers/dma/owl-dma.c
1194
vchan_init(&vchan->vc, &od->dma);
drivers/dma/owl-dma.c
204
struct virt_dma_chan vc;
drivers/dma/owl-dma.c
302
return container_of(chan, struct owl_dma_vchan, vc.chan);
drivers/dma/owl-dma.c
388
struct owl_dma *od = to_owl_dma(vchan->vc.chan.device);
drivers/dma/owl-dma.c
537
struct owl_dma *od = to_owl_dma(vchan->vc.chan.device);
drivers/dma/owl-dma.c
538
struct virt_dma_desc *vd = vchan_next_desc(&vchan->vc);
drivers/dma/owl-dma.c
576
dev_dbg(chan2dev(&vchan->vc.chan), "starting pchan %d\n", pchan->id);
drivers/dma/owl-dma.c
652
spin_lock(&vchan->vc.lock);
drivers/dma/owl-dma.c
664
if (vchan_next_desc(&vchan->vc))
drivers/dma/owl-dma.c
670
spin_unlock(&vchan->vc.lock);
drivers/dma/owl-dma.c
704
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/owl-dma.c
714
vchan_get_all_descriptors(&vchan->vc, &head);
drivers/dma/owl-dma.c
716
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/owl-dma.c
718
vchan_dma_desc_free_list(&vchan->vc, &head);
drivers/dma/owl-dma.c
743
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/owl-dma.c
747
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/owl-dma.c
760
dev_dbg(chan2dev(chan), "vchan %p: resume\n", &vchan->vc);
drivers/dma/owl-dma.c
762
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/owl-dma.c
766
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/owl-dma.c
820
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/owl-dma.c
822
vd = vchan_find_desc(&vchan->vc, cookie);
drivers/dma/owl-dma.c
831
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/owl-dma.c
840
struct owl_dma *od = to_owl_dma(vchan->vc.chan.device);
drivers/dma/owl-dma.c
858
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/owl-dma.c
859
if (vchan_issue_pending(&vchan->vc)) {
drivers/dma/owl-dma.c
863
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/owl-dma.c
908
return vchan_tx_prep(&vchan->vc, &txd->vd, flags);
drivers/dma/owl-dma.c
972
return vchan_tx_prep(&vchan->vc, &txd->vd, flags);
drivers/dma/pxa_dma.c
1006
return pxad_tx_prep(&chan->vc, &sw_desc->vd, flags);
drivers/dma/pxa_dma.c
1024
dev_err(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
1035
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
105
struct virt_dma_chan vc; /* Virtual channel */
drivers/dma/pxa_dma.c
1059
return pxad_tx_prep(&chan->vc, &sw_desc->vd, flags);
drivers/dma/pxa_dma.c
1077
struct pxad_device *pdev = to_pxad_dev(chan->vc.chan.device);
drivers/dma/pxa_dma.c
1083
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
1084
"%s(): vchan %p: terminate all\n", __func__, &chan->vc);
drivers/dma/pxa_dma.c
1086
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/pxa_dma.c
1087
vchan_get_all_descriptors(&chan->vc, &head);
drivers/dma/pxa_dma.c
1090
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
1104
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/pxa_dma.c
1105
vchan_dma_desc_free_list(&chan->vc, &head);
drivers/dma/pxa_dma.c
1128
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/pxa_dma.c
1130
vd = vchan_find_desc(&chan->vc, cookie);
drivers/dma/pxa_dma.c
1179
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/pxa_dma.c
1180
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
1208
vchan_synchronize(&chan->vc);
drivers/dma/pxa_dma.c
1216
vc.chan.device_node) {
drivers/dma/pxa_dma.c
1217
list_del(&c->vc.chan.device_node);
drivers/dma/pxa_dma.c
1218
tasklet_kill(&c->vc.task);
drivers/dma/pxa_dma.c
1332
c->vc.desc_free = pxad_free_desc;
drivers/dma/pxa_dma.c
1333
vchan_init(&c->vc, &pdev->slave);
drivers/dma/pxa_dma.c
140
container_of(dchan, struct pxad_chan, vc.chan)
drivers/dma/pxa_dma.c
152
dev_vdbg(&phy->vchan->vc.chan.dev->device, \
drivers/dma/pxa_dma.c
160
dev_vdbg(&phy->vchan->vc.chan.dev->device, \
drivers/dma/pxa_dma.c
167
dev_vdbg(&phy->vchan->vc.chan.dev->device, \
drivers/dma/pxa_dma.c
371
struct pxad_device *pdev = to_pxad_dev(pchan->vc.chan.device);
drivers/dma/pxa_dma.c
399
dev_dbg(&pchan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
408
struct pxad_device *pdev = to_pxad_dev(chan->vc.chan.device);
drivers/dma/pxa_dma.c
412
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
457
dev_dbg(&phy->vchan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
461
pdev = to_pxad_dev(phy->vchan->vc.chan.device);
drivers/dma/pxa_dma.c
486
dev_dbg(&phy->vchan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
494
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
499
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
553
static bool pxad_try_hotchain(struct virt_dma_chan *vc,
drivers/dma/pxa_dma.c
557
struct pxad_chan *chan = to_pxad_chan(&vc->chan);
drivers/dma/pxa_dma.c
567
BUG_ON(list_empty(&vc->desc_issued));
drivers/dma/pxa_dma.c
573
vd_last_issued = list_entry(vc->desc_issued.prev,
drivers/dma/pxa_dma.c
595
dev_warn(&phy->vchan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
617
spin_lock(&chan->vc.lock);
drivers/dma/pxa_dma.c
618
list_for_each_entry_safe(vd, tmp, &chan->vc.desc_issued, node) {
drivers/dma/pxa_dma.c
620
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
643
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
646
list_empty(&chan->vc.desc_submitted),
drivers/dma/pxa_dma.c
647
list_empty(&chan->vc.desc_issued));
drivers/dma/pxa_dma.c
650
if (list_empty(&chan->vc.desc_issued)) {
drivers/dma/pxa_dma.c
652
!list_empty(&chan->vc.desc_submitted);
drivers/dma/pxa_dma.c
654
vd = list_first_entry(&chan->vc.desc_issued,
drivers/dma/pxa_dma.c
659
spin_unlock(&chan->vc.lock);
drivers/dma/pxa_dma.c
686
struct pxad_device *pdev = to_pxad_dev(chan->vc.chan.device);
drivers/dma/pxa_dma.c
697
dev_err(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
710
vchan_free_chan_resources(&chan->vc);
drivers/dma/pxa_dma.c
752
dev_err(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
775
struct virt_dma_chan *vc = to_virt_chan(tx->chan);
drivers/dma/pxa_dma.c
776
struct pxad_chan *chan = to_pxad_chan(&vc->chan);
drivers/dma/pxa_dma.c
784
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/pxa_dma.c
787
if (list_empty(&vc->desc_submitted) && pxad_try_hotchain(vc, vd)) {
drivers/dma/pxa_dma.c
788
list_move_tail(&vd->node, &vc->desc_issued);
drivers/dma/pxa_dma.c
789
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
798
if (!list_empty(&vc->desc_submitted)) {
drivers/dma/pxa_dma.c
799
vd_chained = list_entry(vc->desc_submitted.prev,
drivers/dma/pxa_dma.c
812
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
815
list_move_tail(&vd->node, &vc->desc_submitted);
drivers/dma/pxa_dma.c
819
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/pxa_dma.c
829
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/pxa_dma.c
830
if (list_empty(&chan->vc.desc_submitted))
drivers/dma/pxa_dma.c
833
vd_first = list_first_entry(&chan->vc.desc_submitted,
drivers/dma/pxa_dma.c
835
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
838
vchan_issue_pending(&chan->vc);
drivers/dma/pxa_dma.c
839
if (!pxad_try_hotchain(&chan->vc, vd_first))
drivers/dma/pxa_dma.c
842
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/pxa_dma.c
846
pxad_tx_prep(struct virt_dma_chan *vc, struct virt_dma_desc *vd,
drivers/dma/pxa_dma.c
850
struct pxad_chan *chan = container_of(vc, struct pxad_chan, vc);
drivers/dma/pxa_dma.c
853
tx = vchan_tx_prep(vc, vd, tx_flags);
drivers/dma/pxa_dma.c
855
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
857
vc, vd, vd->tx.cookie,
drivers/dma/pxa_dma.c
869
struct pxad_device *pdev = to_pxad_dev(chan->vc.chan.device);
drivers/dma/pxa_dma.c
894
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
928
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/pxa_dma.c
957
return pxad_tx_prep(&chan->vc, &sw_desc->vd, flags);
drivers/dma/pxa_dma.c
977
dev_dbg(&chan->vc.chan.dev->device,
drivers/dma/qcom/bam_dma.c
1030
struct virt_dma_desc *vd = vchan_next_desc(&bchan->vc);
drivers/dma/qcom/bam_dma.c
1040
lockdep_assert_held(&bchan->vc.lock);
drivers/dma/qcom/bam_dma.c
1076
vd = vchan_next_desc(&bchan->vc);
drivers/dma/qcom/bam_dma.c
1138
guard(spinlock_irqsave)(&bchan->vc.lock);
drivers/dma/qcom/bam_dma.c
1140
if (!list_empty(&bchan->vc.desc_issued) && !IS_BUSY(bchan))
drivers/dma/qcom/bam_dma.c
1156
guard(spinlock_irqsave)(&bchan->vc.lock);
drivers/dma/qcom/bam_dma.c
1159
if (vchan_issue_pending(&bchan->vc) && !IS_BUSY(bchan))
drivers/dma/qcom/bam_dma.c
1190
return dma_get_slave_channel(&(bdev->channels[request].vc.chan));
drivers/dma/qcom/bam_dma.c
1231
vchan_init(&bchan->vc, &bdev->common);
drivers/dma/qcom/bam_dma.c
1232
bchan->vc.desc_free = bam_dma_free_desc;
drivers/dma/qcom/bam_dma.c
1390
tasklet_kill(&bdev->channels[i].vc.task);
drivers/dma/qcom/bam_dma.c
1415
bam_dma_terminate_all(&bdev->channels[i].vc.chan);
drivers/dma/qcom/bam_dma.c
1416
tasklet_kill(&bdev->channels[i].vc.task);
drivers/dma/qcom/bam_dma.c
378
struct virt_dma_chan vc;
drivers/dma/qcom/bam_dma.c
407
return container_of(common, struct bam_chan, vc.chan);
drivers/dma/qcom/bam_dma.c
498
lockdep_assert_held(&bchan->vc.lock);
drivers/dma/qcom/bam_dma.c
616
scoped_guard(spinlock_irqsave, &bchan->vc.lock)
drivers/dma/qcom/bam_dma.c
656
guard(spinlock_irqsave)(&bchan->vc.lock);
drivers/dma/qcom/bam_dma.c
735
return vchan_tx_prep(&bchan->vc, &async_desc->vd, flags);
drivers/dma/qcom/bam_dma.c
753
scoped_guard(spinlock_irqsave, &bchan->vc.lock) {
drivers/dma/qcom/bam_dma.c
775
list_add(&async_desc->vd.node, &bchan->vc.desc_issued);
drivers/dma/qcom/bam_dma.c
779
vchan_get_all_descriptors(&bchan->vc, &head);
drivers/dma/qcom/bam_dma.c
782
vchan_dma_desc_free_list(&bchan->vc, &head);
drivers/dma/qcom/bam_dma.c
802
scoped_guard(spinlock_irqsave, &bchan->vc.lock) {
drivers/dma/qcom/bam_dma.c
827
scoped_guard(spinlock_irqsave, &bchan->vc.lock) {
drivers/dma/qcom/bam_dma.c
866
guard(spinlock_irqsave)(&bchan->vc.lock);
drivers/dma/qcom/bam_dma.c
901
&bchan->vc.desc_issued);
drivers/dma/qcom/bam_dma.c
976
scoped_guard(spinlock_irqsave, &bchan->vc.lock) {
drivers/dma/qcom/bam_dma.c
977
vd = vchan_find_desc(&bchan->vc, cookie);
drivers/dma/qcom/gpi.c
1015
spin_lock_irqsave(&gchan->vc.lock, flags);
drivers/dma/qcom/gpi.c
1016
vd = vchan_next_desc(&gchan->vc);
drivers/dma/qcom/gpi.c
1020
spin_unlock_irqrestore(&gchan->vc.lock, flags);
drivers/dma/qcom/gpi.c
1031
spin_unlock_irqrestore(&gchan->vc.lock, flags);
drivers/dma/qcom/gpi.c
1067
spin_lock_irqsave(&gchan->vc.lock, flags);
drivers/dma/qcom/gpi.c
1069
spin_unlock_irqrestore(&gchan->vc.lock, flags);
drivers/dma/qcom/gpi.c
1207
spin_lock(&gchan->vc.lock);
drivers/dma/qcom/gpi.c
1208
vchan_get_all_descriptors(&gchan->vc, &list);
drivers/dma/qcom/gpi.c
1209
spin_unlock(&gchan->vc.lock);
drivers/dma/qcom/gpi.c
1211
vchan_dma_desc_free_list(&gchan->vc, &list);
drivers/dma/qcom/gpi.c
1859
return vchan_tx_prep(&gchan->vc, &gpi_desc->vd, flags);
drivers/dma/qcom/gpi.c
1877
spin_lock_irqsave(&gchan->vc.lock, flags);
drivers/dma/qcom/gpi.c
1878
if (vchan_issue_pending(&gchan->vc))
drivers/dma/qcom/gpi.c
1879
vd = list_last_entry(&gchan->vc.desc_issued,
drivers/dma/qcom/gpi.c
1881
spin_unlock_irqrestore(&gchan->vc.lock, flags);
drivers/dma/qcom/gpi.c
2012
vchan_free_chan_resources(&gchan->vc);
drivers/dma/qcom/gpi.c
2091
if (rx_chan->vc.chan.client_count && rx_chan->seid == seid)
drivers/dma/qcom/gpi.c
2093
if (tx_chan->vc.chan.client_count && tx_chan->seid == seid)
drivers/dma/qcom/gpi.c
2106
if (tx_chan->vc.chan.client_count ||
drivers/dma/qcom/gpi.c
2107
rx_chan->vc.chan.client_count)
drivers/dma/qcom/gpi.c
2149
if (gchan->vc.chan.client_count) {
drivers/dma/qcom/gpi.c
2158
return dma_get_slave_channel(&gchan->vc.chan);
drivers/dma/qcom/gpi.c
2242
vchan_init(&gchan->vc, &gpi_dev->dma_device);
drivers/dma/qcom/gpi.c
2243
gchan->vc.desc_free = gpi_desc_free;
drivers/dma/qcom/gpi.c
482
struct virt_dma_chan vc;
drivers/dma/qcom/gpi.c
543
return container_of(dma_chan, struct gchan, vc.chan);
drivers/dma/qcom/gpi.c
935
spin_lock_irqsave(&gchan->vc.lock, flags);
drivers/dma/qcom/gpi.c
936
vd = vchan_next_desc(&gchan->vc);
drivers/dma/qcom/gpi.c
941
spin_unlock_irqrestore(&gchan->vc.lock, flags);
drivers/dma/qcom/gpi.c
956
spin_unlock_irqrestore(&gchan->vc.lock, flags);
drivers/dma/qcom/gpi.c
988
spin_lock_irqsave(&gchan->vc.lock, flags);
drivers/dma/qcom/gpi.c
990
spin_unlock_irqrestore(&gchan->vc.lock, flags);
drivers/dma/qcom/qcom_adm.c
136
struct virt_dma_chan vc;
drivers/dma/qcom/qcom_adm.c
154
return container_of(common, struct adm_chan, vc.chan);
drivers/dma/qcom/qcom_adm.c
458
return vchan_tx_prep(&achan->vc, &async_desc->vd, flags);
drivers/dma/qcom/qcom_adm.c
480
spin_lock_irqsave(&achan->vc.lock, flags);
drivers/dma/qcom/qcom_adm.c
481
vchan_get_all_descriptors(&achan->vc, &head);
drivers/dma/qcom/qcom_adm.c
487
spin_unlock_irqrestore(&achan->vc.lock, flags);
drivers/dma/qcom/qcom_adm.c
489
vchan_dma_desc_free_list(&achan->vc, &head);
drivers/dma/qcom/qcom_adm.c
500
spin_lock_irqsave(&achan->vc.lock, flag);
drivers/dma/qcom/qcom_adm.c
504
spin_unlock_irqrestore(&achan->vc.lock, flag);
drivers/dma/qcom/qcom_adm.c
515
struct virt_dma_desc *vd = vchan_next_desc(&achan->vc);
drivers/dma/qcom/qcom_adm.c
519
lockdep_assert_held(&achan->vc.lock);
drivers/dma/qcom/qcom_adm.c
601
spin_lock_irqsave(&achan->vc.lock, flags);
drivers/dma/qcom/qcom_adm.c
613
spin_unlock_irqrestore(&achan->vc.lock, flags);
drivers/dma/qcom/qcom_adm.c
641
spin_lock_irqsave(&achan->vc.lock, flags);
drivers/dma/qcom/qcom_adm.c
643
vd = vchan_find_desc(&achan->vc, cookie);
drivers/dma/qcom/qcom_adm.c
647
spin_unlock_irqrestore(&achan->vc.lock, flags);
drivers/dma/qcom/qcom_adm.c
673
spin_lock_irqsave(&achan->vc.lock, flags);
drivers/dma/qcom/qcom_adm.c
675
if (vchan_issue_pending(&achan->vc) && !achan->curr_txd)
drivers/dma/qcom/qcom_adm.c
677
spin_unlock_irqrestore(&achan->vc.lock, flags);
drivers/dma/qcom/qcom_adm.c
702
vchan_init(&achan->vc, &adev->common);
drivers/dma/qcom/qcom_adm.c
703
achan->vc.desc_free = adm_dma_free_desc;
drivers/dma/qcom/qcom_adm.c
921
tasklet_kill(&adev->channels[i].vc.task);
drivers/dma/qcom/qcom_adm.c
922
adm_terminate_all(&adev->channels[i].vc.chan);
drivers/dma/sa11x0-dma.c
128
return container_of(chan, struct sa11x0_dma_chan, vc.chan);
drivers/dma/sa11x0-dma.c
138
struct virt_dma_desc *vd = vchan_next_desc(&c->vc);
drivers/dma/sa11x0-dma.c
279
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
293
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
335
list_for_each_entry(c, &d->slave.channels, vc.chan.device_node) {
drivers/dma/sa11x0-dma.c
336
spin_lock_irq(&c->vc.lock);
drivers/dma/sa11x0-dma.c
349
spin_unlock_irq(&c->vc.lock);
drivers/dma/sa11x0-dma.c
366
dev_dbg(d->slave.dev, "pchan %u: alloc vchan %p\n", pch, &c->vc);
drivers/dma/sa11x0-dma.c
376
spin_lock_irq(&c->vc.lock);
drivers/dma/sa11x0-dma.c
380
spin_unlock_irq(&c->vc.lock);
drivers/dma/sa11x0-dma.c
398
vchan_free_chan_resources(&c->vc);
drivers/dma/sa11x0-dma.c
427
ret = dma_cookie_status(&c->vc.chan, cookie, state);
drivers/dma/sa11x0-dma.c
434
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
441
vd = vchan_find_desc(&c->vc, cookie);
drivers/dma/sa11x0-dma.c
488
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
506
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
507
if (vchan_issue_pending(&c->vc)) {
drivers/dma/sa11x0-dma.c
513
dev_dbg(d->slave.dev, "vchan %p: issued\n", &c->vc);
drivers/dma/sa11x0-dma.c
518
dev_dbg(d->slave.dev, "vchan %p: nothing to issue\n", &c->vc);
drivers/dma/sa11x0-dma.c
519
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
535
&c->vc, c->ddar, dir);
drivers/dma/sa11x0-dma.c
548
&c->vc, &addr);
drivers/dma/sa11x0-dma.c
556
dev_dbg(chan->device->dev, "vchan %p: kzalloc failed\n", &c->vc);
drivers/dma/sa11x0-dma.c
597
&c->vc, &txd->vd, txd->size, txd->sglen);
drivers/dma/sa11x0-dma.c
599
return vchan_tx_prep(&c->vc, &txd->vd, flags);
drivers/dma/sa11x0-dma.c
613
&c->vc, c->ddar, dir);
drivers/dma/sa11x0-dma.c
626
dev_dbg(chan->device->dev, "vchan %p: kzalloc failed\n", &c->vc);
drivers/dma/sa11x0-dma.c
658
return vchan_tx_prep(&c->vc, &txd->vd, DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
drivers/dma/sa11x0-dma.c
690
dev_dbg(c->vc.chan.device->dev, "vchan %p: dma_slave_config addr %pad width %u burst %u\n",
drivers/dma/sa11x0-dma.c
691
&c->vc, &addr, width, maxburst);
drivers/dma/sa11x0-dma.c
705
dev_dbg(d->slave.dev, "vchan %p: pause\n", &c->vc);
drivers/dma/sa11x0-dma.c
706
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
719
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
731
dev_dbg(d->slave.dev, "vchan %p: resume\n", &c->vc);
drivers/dma/sa11x0-dma.c
732
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
739
} else if (!list_empty(&c->vc.desc_issued)) {
drivers/dma/sa11x0-dma.c
745
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
758
dev_dbg(d->slave.dev, "vchan %p: terminate all\n", &c->vc);
drivers/dma/sa11x0-dma.c
760
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
761
vchan_get_all_descriptors(&c->vc, &head);
drivers/dma/sa11x0-dma.c
787
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/sa11x0-dma.c
788
vchan_dma_desc_free_list(&c->vc, &head);
drivers/dma/sa11x0-dma.c
862
c->vc.desc_free = sa11x0_dma_free_desc;
drivers/dma/sa11x0-dma.c
863
vchan_init(&c->vc, dmadev);
drivers/dma/sa11x0-dma.c
87
struct virt_dma_chan vc;
drivers/dma/sa11x0-dma.c
892
list_for_each_entry_safe(c, cn, &dmadev->channels, vc.chan.device_node) {
drivers/dma/sa11x0-dma.c
893
list_del(&c->vc.chan.device_node);
drivers/dma/sa11x0-dma.c
894
tasklet_kill(&c->vc.task);
drivers/dma/sh/rz-dmac.c
1029
scoped_guard(spinlock_irqsave, &channel->vc.lock) {
drivers/dma/sh/rz-dmac.c
1055
lockdep_assert_held(&channel->vc.lock);
drivers/dma/sh/rz-dmac.c
1085
guard(spinlock_irqsave)(&channel->vc.lock);
drivers/dma/sh/rz-dmac.c
1092
lockdep_assert_held(&channel->vc.lock);
drivers/dma/sh/rz-dmac.c
1108
lockdep_assert_held(&channel->vc.lock);
drivers/dma/sh/rz-dmac.c
112
#define to_rz_dmac_chan(c) container_of(c, struct rz_dmac_chan, vc.chan)
drivers/dma/sh/rz-dmac.c
1158
guard(spinlock_irqsave)(&channel->vc.lock);
drivers/dma/sh/rz-dmac.c
1168
lockdep_assert_held(&channel->vc.lock);
drivers/dma/sh/rz-dmac.c
1183
struct dma_chan *chan = &channel->vc.chan;
drivers/dma/sh/rz-dmac.c
1192
scoped_guard(spinlock_irqsave, &channel->vc.lock)
drivers/dma/sh/rz-dmac.c
1221
guard(spinlock_irqsave)(&channel->vc.lock);
drivers/dma/sh/rz-dmac.c
1317
channel->vc.desc_free = rz_dmac_virt_desc_free;
drivers/dma/sh/rz-dmac.c
1318
vchan_init(&channel->vc, &dmac->engine);
drivers/dma/sh/rz-dmac.c
1556
guard(spinlock_irqsave)(&channel->vc.lock);
drivers/dma/sh/rz-dmac.c
1573
guard(spinlock_irqsave)(&channel->vc.lock);
drivers/dma/sh/rz-dmac.c
1581
dma_chan_name(&channel->vc.chan));
drivers/dma/sh/rz-dmac.c
1633
guard(spinlock_irqsave)(&channel->vc.lock);
drivers/dma/sh/rz-dmac.c
1652
dma_chan_name(&channel->vc.chan), ret);
drivers/dma/sh/rz-dmac.c
322
struct dma_chan *chan = &channel->vc.chan;
drivers/dma/sh/rz-dmac.c
342
struct dma_chan *chan = &channel->vc.chan;
drivers/dma/sh/rz-dmac.c
429
struct dma_chan *chan = &channel->vc.chan;
drivers/dma/sh/rz-dmac.c
454
struct dma_chan *chan = &channel->vc.chan;
drivers/dma/sh/rz-dmac.c
506
struct dma_chan *chan = &channel->vc.chan;
drivers/dma/sh/rz-dmac.c
514
lockdep_assert_held(&channel->vc.lock);
drivers/dma/sh/rz-dmac.c
560
vd = vchan_next_desc(&chan->vc);
drivers/dma/sh/rz-dmac.c
628
spin_lock_irqsave(&channel->vc.lock, flags);
drivers/dma/sh/rz-dmac.c
645
spin_unlock_irqrestore(&channel->vc.lock, flags);
drivers/dma/sh/rz-dmac.c
647
vchan_free_chan_resources(&channel->vc);
drivers/dma/sh/rz-dmac.c
649
spin_lock_irqsave(&channel->vc.lock, flags);
drivers/dma/sh/rz-dmac.c
659
spin_unlock_irqrestore(&channel->vc.lock, flags);
drivers/dma/sh/rz-dmac.c
673
scoped_guard(spinlock_irqsave, &channel->vc.lock) {
drivers/dma/sh/rz-dmac.c
687
return vchan_tx_prep(&channel->vc, &desc->vd, flags);
drivers/dma/sh/rz-dmac.c
702
scoped_guard(spinlock_irqsave, &channel->vc.lock) {
drivers/dma/sh/rz-dmac.c
724
return vchan_tx_prep(&channel->vc, &desc->vd, flags);
drivers/dma/sh/rz-dmac.c
747
scoped_guard(spinlock_irqsave, &channel->vc.lock) {
drivers/dma/sh/rz-dmac.c
773
return vchan_tx_prep(&channel->vc, &desc->vd, flags);
drivers/dma/sh/rz-dmac.c
791
spin_lock_irqsave(&channel->vc.lock, flags);
drivers/dma/sh/rz-dmac.c
802
vchan_get_all_descriptors(&channel->vc, &head);
drivers/dma/sh/rz-dmac.c
806
spin_unlock_irqrestore(&channel->vc.lock, flags);
drivers/dma/sh/rz-dmac.c
807
vchan_dma_desc_free_list(&channel->vc, &head);
drivers/dma/sh/rz-dmac.c
81
struct virt_dma_chan vc;
drivers/dma/sh/rz-dmac.c
824
spin_lock_irqsave(&channel->vc.lock, flags);
drivers/dma/sh/rz-dmac.c
830
if (vchan_issue_pending(&channel->vc) && !channel->desc)
drivers/dma/sh/rz-dmac.c
833
spin_unlock_irqrestore(&channel->vc.lock, flags);
drivers/dma/sh/rz-dmac.c
890
struct virt_dma_chan *vc = to_virt_chan(vd->tx.chan);
drivers/dma/sh/rz-dmac.c
893
guard(spinlock_irqsave)(&vc->lock);
drivers/dma/sh/rz-dmac.c
905
vchan_synchronize(&channel->vc);
drivers/dma/sh/rz-dmac.c
936
struct dma_chan *chan = &channel->vc.chan;
drivers/dma/sh/rz-dmac.c
974
vd = vchan_find_desc(&channel->vc, cookie);
drivers/dma/sh/usb-dmac.c
207
dev_dbg(chan->vc.chan.device->dev,
drivers/dma/sh/usb-dmac.c
226
vd = vchan_next_desc(&chan->vc);
drivers/dma/sh/usb-dmac.c
276
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
278
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
305
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
309
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
313
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
318
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
322
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
334
spin_lock_irqsave(&chan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
336
spin_unlock_irqrestore(&chan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
345
struct dma_chan *chan = &uchan->vc.chan;
drivers/dma/sh/usb-dmac.c
405
spin_lock_irqsave(&uchan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
407
spin_unlock_irqrestore(&uchan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
410
vchan_free_chan_resources(&uchan->vc);
drivers/dma/sh/usb-dmac.c
442
return vchan_tx_prep(&uchan->vc, &desc->vd, dma_flags);
drivers/dma/sh/usb-dmac.c
453
spin_lock_irqsave(&uchan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
455
vchan_get_all_descriptors(&uchan->vc, &head);
drivers/dma/sh/usb-dmac.c
461
spin_unlock_irqrestore(&uchan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
462
vchan_dma_desc_free_list(&uchan->vc, &head);
drivers/dma/sh/usb-dmac.c
512
vd = vchan_find_desc(&chan->vc, cookie);
drivers/dma/sh/usb-dmac.c
542
spin_lock_irqsave(&uchan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
547
spin_unlock_irqrestore(&uchan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
559
spin_lock_irqsave(&uchan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
560
if (vchan_issue_pending(&uchan->vc) && !uchan->desc)
drivers/dma/sh/usb-dmac.c
562
spin_unlock_irqrestore(&uchan->vc.lock, flags);
drivers/dma/sh/usb-dmac.c
606
spin_lock(&chan->vc.lock);
drivers/dma/sh/usb-dmac.c
627
spin_unlock(&chan->vc.lock);
drivers/dma/sh/usb-dmac.c
735
uchan->vc.desc_free = usb_dmac_virt_desc_free;
drivers/dma/sh/usb-dmac.c
736
vchan_init(&uchan->vc, &dmac->engine);
drivers/dma/sh/usb-dmac.c
77
struct virt_dma_chan vc;
drivers/dma/sh/usb-dmac.c
87
#define to_usb_dmac_chan(c) container_of(c, struct usb_dmac_chan, vc.chan)
drivers/dma/sprd-dma.c
1034
return vchan_tx_prep(&schan->vc, &sdesc->vd, flags);
drivers/dma/sprd-dma.c
1052
spin_lock_irqsave(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
1054
spin_unlock_irqrestore(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
1064
spin_lock_irqsave(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
1066
spin_unlock_irqrestore(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
1078
spin_lock_irqsave(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
1084
vchan_get_all_descriptors(&schan->vc, &head);
drivers/dma/sprd-dma.c
1085
spin_unlock_irqrestore(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
1090
vchan_dma_desc_free_list(&schan->vc, &head);
drivers/dma/sprd-dma.c
1201
dma_chn->vc.desc_free = sprd_dma_free_desc;
drivers/dma/sprd-dma.c
1202
vchan_init(&dma_chn->vc, &sdev->dma_dev);
drivers/dma/sprd-dma.c
1254
vc.chan.device_node) {
drivers/dma/sprd-dma.c
1255
list_del(&c->vc.chan.device_node);
drivers/dma/sprd-dma.c
1256
tasklet_kill(&c->vc.task);
drivers/dma/sprd-dma.c
195
struct virt_dma_chan vc;
drivers/dma/sprd-dma.c
226
return container_of(c, struct sprd_dma_chn, vc.chan);
drivers/dma/sprd-dma.c
292
struct sprd_dma_dev *sdev = to_sprd_dma_dev(&schan->vc.chan);
drivers/dma/sprd-dma.c
305
struct sprd_dma_dev *sdev = to_sprd_dma_dev(&schan->vc.chan);
drivers/dma/sprd-dma.c
342
struct sprd_dma_dev *sdev = to_sprd_dma_dev(&schan->vc.chan);
drivers/dma/sprd-dma.c
401
struct sprd_dma_dev *sdev = to_sprd_dma_dev(&schan->vc.chan);
drivers/dma/sprd-dma.c
436
struct sprd_dma_dev *sdev = to_sprd_dma_dev(&schan->vc.chan);
drivers/dma/sprd-dma.c
491
struct sprd_dma_dev *sdev = to_sprd_dma_dev(&schan->vc.chan);
drivers/dma/sprd-dma.c
536
struct virt_dma_desc *vd = vchan_next_desc(&schan->vc);
drivers/dma/sprd-dma.c
603
spin_lock(&schan->vc.lock);
drivers/dma/sprd-dma.c
607
spin_unlock(&schan->vc.lock);
drivers/dma/sprd-dma.c
628
spin_unlock(&schan->vc.lock);
drivers/dma/sprd-dma.c
645
spin_lock_irqsave(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
650
spin_unlock_irqrestore(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
655
vchan_free_chan_resources(&schan->vc);
drivers/dma/sprd-dma.c
673
spin_lock_irqsave(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
674
vd = vchan_find_desc(&schan->vc, cookie);
drivers/dma/sprd-dma.c
697
spin_unlock_irqrestore(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
708
spin_lock_irqsave(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
709
if (vchan_issue_pending(&schan->vc) && !schan->cur_desc)
drivers/dma/sprd-dma.c
711
spin_unlock_irqrestore(&schan->vc.lock, flags);
drivers/dma/sprd-dma.c
946
return vchan_tx_prep(&schan->vc, &sdesc->vd, flags);
drivers/dma/sun4i-dma.c
1003
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/sun4i-dma.c
1005
vchan_dma_desc_free_list(&vchan->vc, &head);
drivers/dma/sun4i-dma.c
1067
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/sun4i-dma.c
1068
vd = vchan_find_desc(&vchan->vc, cookie);
drivers/dma/sun4i-dma.c
1094
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/sun4i-dma.c
1105
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/sun4i-dma.c
1111
if (vchan_issue_pending(&vchan->vc))
drivers/dma/sun4i-dma.c
1114
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/sun4i-dma.c
1146
spin_lock(&vchan->vc.lock);
drivers/dma/sun4i-dma.c
1182
spin_unlock(&vchan->vc.lock);
drivers/dma/sun4i-dma.c
1209
spin_lock(&vchan->vc.lock);
drivers/dma/sun4i-dma.c
1211
spin_unlock(&vchan->vc.lock);
drivers/dma/sun4i-dma.c
1325
spin_lock_init(&vchan->vc.lock);
drivers/dma/sun4i-dma.c
1326
vchan->vc.desc_free = sun4i_dma_free_contract;
drivers/dma/sun4i-dma.c
1327
vchan_init(&vchan->vc, &priv->slave);
drivers/dma/sun4i-dma.c
194
struct virt_dma_chan vc;
drivers/dma/sun4i-dma.c
241
return container_of(chan, struct sun4i_dma_vchan, vc.chan);
drivers/dma/sun4i-dma.c
305
vchan_free_chan_resources(&vchan->vc);
drivers/dma/sun4i-dma.c
419
lockdep_assert_held(&vchan->vc.lock);
drivers/dma/sun4i-dma.c
431
dev_dbg(chan2dev(&vchan->vc.chan),
drivers/dma/sun4i-dma.c
439
vd = vchan_next_desc(&vchan->vc);
drivers/dma/sun4i-dma.c
441
dev_dbg(chan2dev(&vchan->vc.chan),
drivers/dma/sun4i-dma.c
452
dev_dbg(chan2dev(&vchan->vc.chan),
drivers/dma/sun4i-dma.c
753
return vchan_tx_prep(&vchan->vc, &contract->vd, flags);
drivers/dma/sun4i-dma.c
874
return vchan_tx_prep(&vchan->vc, &contract->vd, flags);
drivers/dma/sun4i-dma.c
971
return vchan_tx_prep(&vchan->vc, &contract->vd, flags);
drivers/dma/sun4i-dma.c
982
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/sun4i-dma.c
983
vchan_get_all_descriptors(&vchan->vc, &head);
drivers/dma/sun4i-dma.c
984
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/sun4i-dma.c
999
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/sun6i-dma.c
1005
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/sun6i-dma.c
1018
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/sun6i-dma.c
1020
if (vchan_issue_pending(&vchan->vc)) {
drivers/dma/sun6i-dma.c
1027
&vchan->vc);
drivers/dma/sun6i-dma.c
1033
&vchan->vc);
drivers/dma/sun6i-dma.c
1036
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/sun6i-dma.c
1049
vchan_free_chan_resources(&vchan->vc);
drivers/dma/sun6i-dma.c
1096
list_del(&vchan->vc.chan.device_node);
drivers/dma/sun6i-dma.c
1097
tasklet_kill(&vchan->vc.task);
drivers/dma/sun6i-dma.c
1431
vchan->vc.desc_free = sun6i_dma_free_desc;
drivers/dma/sun6i-dma.c
1432
vchan_init(&vchan->vc, &sdc->slave);
drivers/dma/sun6i-dma.c
187
struct virt_dma_chan vc;
drivers/dma/sun6i-dma.c
228
return container_of(chan, struct sun6i_vchan, vc.chan);
drivers/dma/sun6i-dma.c
400
dev_dbg(chan2dev(&vchan->vc.chan),
drivers/dma/sun6i-dma.c
437
struct sun6i_dma_dev *sdev = to_sun6i_dma_dev(vchan->vc.chan.device);
drivers/dma/sun6i-dma.c
438
struct virt_dma_desc *desc = vchan_next_desc(&vchan->vc);
drivers/dma/sun6i-dma.c
486
list_for_each_entry(vchan, &sdev->slave.channels, vc.chan.device_node) {
drivers/dma/sun6i-dma.c
487
spin_lock_irq(&vchan->vc.lock);
drivers/dma/sun6i-dma.c
504
spin_unlock_irq(&vchan->vc.lock);
drivers/dma/sun6i-dma.c
525
pchan->idx, &vchan->vc);
drivers/dma/sun6i-dma.c
536
spin_lock_irq(&vchan->vc.lock);
drivers/dma/sun6i-dma.c
538
spin_unlock_irq(&vchan->vc.lock);
drivers/dma/sun6i-dma.c
568
spin_lock(&vchan->vc.lock);
drivers/dma/sun6i-dma.c
571
spin_unlock(&vchan->vc.lock);
drivers/dma/sun6i-dma.c
676
__func__, vchan->vc.chan.chan_id, &dest, &src, len, flags);
drivers/dma/sun6i-dma.c
708
return vchan_tx_prep(&vchan->vc, &txd->vd, flags);
drivers/dma/sun6i-dma.c
761
__func__, vchan->vc.chan.chan_id,
drivers/dma/sun6i-dma.c
775
__func__, vchan->vc.chan.chan_id,
drivers/dma/sun6i-dma.c
788
return vchan_tx_prep(&vchan->vc, &txd->vd, flags);
drivers/dma/sun6i-dma.c
845
__func__, vchan->vc.chan.chan_id,
drivers/dma/sun6i-dma.c
857
__func__, vchan->vc.chan.chan_id,
drivers/dma/sun6i-dma.c
869
return vchan_tx_prep(&vchan->vc, &txd->vd, flags);
drivers/dma/sun6i-dma.c
895
dev_dbg(chan2dev(chan), "vchan %p: pause\n", &vchan->vc);
drivers/dma/sun6i-dma.c
916
dev_dbg(chan2dev(chan), "vchan %p: resume\n", &vchan->vc);
drivers/dma/sun6i-dma.c
918
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/sun6i-dma.c
923
} else if (!list_empty(&vchan->vc.desc_issued)) {
drivers/dma/sun6i-dma.c
929
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/sun6i-dma.c
946
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/sun6i-dma.c
955
vchan_get_all_descriptors(&vchan->vc, &head);
drivers/dma/sun6i-dma.c
967
spin_unlock_irqrestore(&vchan->vc.lock, flags);
drivers/dma/sun6i-dma.c
969
vchan_dma_desc_free_list(&vchan->vc, &head);
drivers/dma/sun6i-dma.c
991
spin_lock_irqsave(&vchan->vc.lock, flags);
drivers/dma/sun6i-dma.c
993
vd = vchan_find_desc(&vchan->vc, cookie);
drivers/dma/tegra186-gpc-dma.c
1014
return vchan_tx_prep(&tdc->vc, &dma_desc->vd, flags);
drivers/dma/tegra186-gpc-dma.c
1131
return vchan_tx_prep(&tdc->vc, &dma_desc->vd, flags);
drivers/dma/tegra186-gpc-dma.c
1251
return vchan_tx_prep(&tdc->vc, &dma_desc->vd, flags);
drivers/dma/tegra186-gpc-dma.c
1265
dma_cookie_init(&tdc->vc.chan);
drivers/dma/tegra186-gpc-dma.c
1275
vchan_synchronize(&tdc->vc);
drivers/dma/tegra186-gpc-dma.c
1287
tasklet_kill(&tdc->vc.task);
drivers/dma/tegra186-gpc-dma.c
1293
vchan_free_chan_resources(&tdc->vc);
drivers/dma/tegra186-gpc-dma.c
1491
vchan_init(&tdc->vc, &tdma->dma_dev);
drivers/dma/tegra186-gpc-dma.c
1492
tdc->vc.desc_free = tegra_dma_desc_free;
drivers/dma/tegra186-gpc-dma.c
217
struct virt_dma_chan vc;
drivers/dma/tegra186-gpc-dma.c
259
return container_of(dc, struct tegra_dma_channel, vc.chan);
drivers/dma/tegra186-gpc-dma.c
269
return tdc->vc.chan.device->dev;
drivers/dma/tegra186-gpc-dma.c
425
spin_lock_irqsave(&tdc->vc.lock, flags);
drivers/dma/tegra186-gpc-dma.c
427
spin_unlock_irqrestore(&tdc->vc.lock, flags);
drivers/dma/tegra186-gpc-dma.c
451
spin_lock_irqsave(&tdc->vc.lock, flags);
drivers/dma/tegra186-gpc-dma.c
453
spin_unlock_irqrestore(&tdc->vc.lock, flags);
drivers/dma/tegra186-gpc-dma.c
529
vdesc = vchan_next_desc(&tdc->vc);
drivers/dma/tegra186-gpc-dma.c
621
spin_lock(&tdc->vc.lock);
drivers/dma/tegra186-gpc-dma.c
647
spin_unlock(&tdc->vc.lock);
drivers/dma/tegra186-gpc-dma.c
659
spin_lock_irqsave(&tdc->vc.lock, flags);
drivers/dma/tegra186-gpc-dma.c
660
if (vchan_issue_pending(&tdc->vc))
drivers/dma/tegra186-gpc-dma.c
673
spin_unlock_irqrestore(&tdc->vc.lock, flags);
drivers/dma/tegra186-gpc-dma.c
721
spin_lock_irqsave(&tdc->vc.lock, flags);
drivers/dma/tegra186-gpc-dma.c
726
spin_unlock_irqrestore(&tdc->vc.lock, flags);
drivers/dma/tegra186-gpc-dma.c
737
vchan_get_all_descriptors(&tdc->vc, &head);
drivers/dma/tegra186-gpc-dma.c
738
spin_unlock_irqrestore(&tdc->vc.lock, flags);
drivers/dma/tegra186-gpc-dma.c
740
vchan_dma_desc_free_list(&tdc->vc, &head);
drivers/dma/tegra186-gpc-dma.c
792
spin_lock_irqsave(&tdc->vc.lock, flags);
drivers/dma/tegra186-gpc-dma.c
793
vd = vchan_find_desc(&tdc->vc, cookie);
drivers/dma/tegra186-gpc-dma.c
804
spin_unlock_irqrestore(&tdc->vc.lock, flags);
drivers/dma/tegra186-gpc-dma.c
947
return vchan_tx_prep(&tdc->vc, &dma_desc->vd, flags);
drivers/dma/tegra210-adma.c
1153
vchan_init(&tdc->vc, &tdma->dma_dev);
drivers/dma/tegra210-adma.c
1154
tdc->vc.desc_free = tegra_adma_desc_free;
drivers/dma/tegra210-adma.c
162
struct virt_dma_chan vc;
drivers/dma/tegra210-adma.c
234
return container_of(dc, struct tegra_adma_chan, vc.chan);
drivers/dma/tegra210-adma.c
371
dma_chan_name(&tdc->vc.chan));
drivers/dma/tegra210-adma.c
399
dma_chan_name(&tdc->vc.chan));
drivers/dma/tegra210-adma.c
448
vchan_synchronize(&tdc->vc);
drivers/dma/tegra210-adma.c
453
struct virt_dma_desc *vd = vchan_next_desc(&tdc->vc);
drivers/dma/tegra210-adma.c
523
spin_lock(&tdc->vc.lock);
drivers/dma/tegra210-adma.c
527
spin_unlock(&tdc->vc.lock);
drivers/dma/tegra210-adma.c
533
spin_unlock(&tdc->vc.lock);
drivers/dma/tegra210-adma.c
543
spin_lock_irqsave(&tdc->vc.lock, flags);
drivers/dma/tegra210-adma.c
545
if (vchan_issue_pending(&tdc->vc)) {
drivers/dma/tegra210-adma.c
550
spin_unlock_irqrestore(&tdc->vc.lock, flags);
drivers/dma/tegra210-adma.c
604
spin_lock_irqsave(&tdc->vc.lock, flags);
drivers/dma/tegra210-adma.c
610
vchan_get_all_descriptors(&tdc->vc, &head);
drivers/dma/tegra210-adma.c
611
spin_unlock_irqrestore(&tdc->vc.lock, flags);
drivers/dma/tegra210-adma.c
612
vchan_dma_desc_free_list(&tdc->vc, &head);
drivers/dma/tegra210-adma.c
632
spin_lock_irqsave(&tdc->vc.lock, flags);
drivers/dma/tegra210-adma.c
634
vd = vchan_find_desc(&tdc->vc, cookie);
drivers/dma/tegra210-adma.c
644
spin_unlock_irqrestore(&tdc->vc.lock, flags);
drivers/dma/tegra210-adma.c
782
return vchan_tx_prep(&tdc->vc, &desc->vd, flags);
drivers/dma/tegra210-adma.c
803
dma_cookie_init(&tdc->vc.chan);
drivers/dma/tegra210-adma.c
813
vchan_free_chan_resources(&tdc->vc);
drivers/dma/tegra210-adma.c
814
tasklet_kill(&tdc->vc.task);
drivers/dma/ti/k3-udma.c
1097
spin_lock_irqsave(&uc->vc.lock, flags);
drivers/dma/ti/k3-udma.c
1133
spin_unlock_irqrestore(&uc->vc.lock, flags);
drivers/dma/ti/k3-udma.c
1152
spin_unlock_irqrestore(&uc->vc.lock, flags);
drivers/dma/ti/k3-udma.c
1164
spin_lock(&uc->vc.lock);
drivers/dma/ti/k3-udma.c
1215
spin_unlock(&uc->vc.lock);
drivers/dma/ti/k3-udma.c
1225
spin_lock(&uc->vc.lock);
drivers/dma/ti/k3-udma.c
1240
spin_unlock(&uc->vc.lock);
drivers/dma/ti/k3-udma.c
1619
k3_configure_chan_coherency(&uc->vc.chan, 0);
drivers/dma/ti/k3-udma.c
1647
k3_configure_chan_coherency(&uc->vc.chan, ud->asel);
drivers/dma/ti/k3-udma.c
1649
ring_cfg.dma_dev = dmaengine_get_dma_device(&uc->vc.chan);
drivers/dma/ti/k3-udma.c
1662
k3_configure_chan_coherency(&uc->vc.chan, 0);
drivers/dma/ti/k3-udma.c
1715
k3_configure_chan_coherency(&uc->vc.chan, uc->config.asel);
drivers/dma/ti/k3-udma.c
1717
ring_cfg.dma_dev = dmaengine_get_dma_device(&uc->vc.chan);
drivers/dma/ti/k3-udma.c
1812
k3_configure_chan_coherency(&uc->vc.chan, uc->config.asel);
drivers/dma/ti/k3-udma.c
1814
ring_cfg.dma_dev = dmaengine_get_dma_device(&uc->vc.chan);
drivers/dma/ti/k3-udma.c
278
struct virt_dma_chan vc;
drivers/dma/ti/k3-udma.c
324
return container_of(c, struct udma_chan, vc.chan);
drivers/dma/ti/k3-udma.c
3485
return vchan_tx_prep(&uc->vc, &d->vd, tx_flags);
drivers/dma/ti/k3-udma.c
3708
return vchan_tx_prep(&uc->vc, &d->vd, flags);
drivers/dma/ti/k3-udma.c
3799
return vchan_tx_prep(&uc->vc, &d->vd, tx_flags);
drivers/dma/ti/k3-udma.c
3807
spin_lock_irqsave(&uc->vc.lock, flags);
drivers/dma/ti/k3-udma.c
3810
if (vchan_issue_pending(&uc->vc) && !uc->desc) {
drivers/dma/ti/k3-udma.c
3821
spin_unlock_irqrestore(&uc->vc.lock, flags);
drivers/dma/ti/k3-udma.c
3832
spin_lock_irqsave(&uc->vc.lock, flags);
drivers/dma/ti/k3-udma.c
3893
spin_unlock_irqrestore(&uc->vc.lock, flags);
drivers/dma/ti/k3-udma.c
3957
spin_lock_irqsave(&uc->vc.lock, flags);
drivers/dma/ti/k3-udma.c
3971
vchan_get_all_descriptors(&uc->vc, &head);
drivers/dma/ti/k3-udma.c
3972
spin_unlock_irqrestore(&uc->vc.lock, flags);
drivers/dma/ti/k3-udma.c
3973
vchan_dma_desc_free_list(&uc->vc, &head);
drivers/dma/ti/k3-udma.c
3983
vchan_synchronize(&uc->vc);
drivers/dma/ti/k3-udma.c
4004
static void udma_desc_pre_callback(struct virt_dma_chan *vc,
drivers/dma/ti/k3-udma.c
4008
struct udma_chan *uc = to_udma_chan(&vc->chan);
drivers/dma/ti/k3-udma.c
4050
struct virt_dma_chan *vc = from_tasklet(vc, t, task);
drivers/dma/ti/k3-udma.c
4055
spin_lock_irq(&vc->lock);
drivers/dma/ti/k3-udma.c
4056
list_splice_tail_init(&vc->desc_completed, &head);
drivers/dma/ti/k3-udma.c
4057
vd = vc->cyclic;
drivers/dma/ti/k3-udma.c
4059
vc->cyclic = NULL;
drivers/dma/ti/k3-udma.c
4064
spin_unlock_irq(&vc->lock);
drivers/dma/ti/k3-udma.c
4066
udma_desc_pre_callback(vc, vd, NULL);
drivers/dma/ti/k3-udma.c
4076
udma_desc_pre_callback(vc, vd, &result);
drivers/dma/ti/k3-udma.c
4114
vchan_free_chan_resources(&uc->vc);
drivers/dma/ti/k3-udma.c
4115
tasklet_kill(&uc->vc.task);
drivers/dma/ti/k3-udma.c
5616
uc->vc.desc_free = udma_desc_free;
drivers/dma/ti/k3-udma.c
5629
vchan_init(&uc->vc, &ud->ddev);
drivers/dma/ti/k3-udma.c
5631
tasklet_setup(&uc->vc.task, udma_vchan_complete);
drivers/dma/ti/k3-udma.c
840
uc->ud->ddev.device_free_chan_resources(&uc->vc.chan);
drivers/dma/ti/k3-udma.c
844
ret = uc->ud->ddev.device_alloc_chan_resources(&uc->vc.chan);
drivers/dma/ti/k3-udma.c
899
struct virt_dma_desc *vd = vchan_next_desc(&uc->vc);
drivers/dma/ti/omap-dma.c
1137
return vchan_tx_prep(&c->vc, &d->vd, tx_flags);
drivers/dma/ti/omap-dma.c
1238
return vchan_tx_prep(&c->vc, &d->vd, flags);
drivers/dma/ti/omap-dma.c
1284
return vchan_tx_prep(&c->vc, &d->vd, tx_flags);
drivers/dma/ti/omap-dma.c
1367
return vchan_tx_prep(&c->vc, &d->vd, flags);
drivers/dma/ti/omap-dma.c
1393
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/ti/omap-dma.c
1411
vchan_get_all_descriptors(&c->vc, &head);
drivers/dma/ti/omap-dma.c
1412
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/ti/omap-dma.c
1413
vchan_dma_desc_free_list(&c->vc, &head);
drivers/dma/ti/omap-dma.c
1422
vchan_synchronize(&c->vc);
drivers/dma/ti/omap-dma.c
1511
c->vc.desc_free = omap_dma_desc_free;
drivers/dma/ti/omap-dma.c
1512
vchan_init(&c->vc, &od->ddev);
drivers/dma/ti/omap-dma.c
1521
struct omap_chan, vc.chan.device_node);
drivers/dma/ti/omap-dma.c
1523
list_del(&c->vc.chan.device_node);
drivers/dma/ti/omap-dma.c
1524
tasklet_kill(&c->vc.task);
drivers/dma/ti/omap-dma.c
240
return container_of(c, struct omap_chan, vc.chan);
drivers/dma/ti/omap-dma.c
424
struct omap_dmadev *od = to_omap_dma_dev(c->vc.chan.device);
drivers/dma/ti/omap-dma.c
480
dev_err(c->vc.chan.device->dev,
drivers/dma/ti/omap-dma.c
487
struct omap_dmadev *od = to_omap_dma_dev(c->vc.chan.device);
drivers/dma/ti/omap-dma.c
566
struct virt_dma_desc *vd = vchan_next_desc(&c->vc);
drivers/dma/ti/omap-dma.c
616
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/ti/omap-dma.c
628
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/ti/omap-dma.c
64
struct virt_dma_chan vc;
drivers/dma/ti/omap-dma.c
774
vchan_free_chan_resources(&c->vc);
drivers/dma/ti/omap-dma.c
825
struct omap_dmadev *od = to_omap_dma_dev(c->vc.chan.device);
drivers/dma/ti/omap-dma.c
837
struct omap_dmadev *od = to_omap_dma_dev(c->vc.chan.device);
drivers/dma/ti/omap-dma.c
863
struct omap_dmadev *od = to_omap_dma_dev(c->vc.chan.device);
drivers/dma/ti/omap-dma.c
899
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/ti/omap-dma.c
918
struct virt_dma_desc *vd = vchan_find_desc(&c->vc, cookie);
drivers/dma/ti/omap-dma.c
943
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/ti/omap-dma.c
953
spin_lock_irqsave(&c->vc.lock, flags);
drivers/dma/ti/omap-dma.c
954
if (vchan_issue_pending(&c->vc) && !c->desc)
drivers/dma/ti/omap-dma.c
956
spin_unlock_irqrestore(&c->vc.lock, flags);
drivers/dma/uniphier-mdmac.c
182
spin_lock(&mc->vc.lock);
drivers/dma/uniphier-mdmac.c
219
spin_unlock(&mc->vc.lock);
drivers/dma/uniphier-mdmac.c
235
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/uniphier-mdmac.c
249
return vchan_tx_prep(vc, &md->vd, flags);
drivers/dma/uniphier-mdmac.c
254
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/uniphier-mdmac.c
255
struct uniphier_mdmac_chan *mc = to_uniphier_mdmac_chan(vc);
drivers/dma/uniphier-mdmac.c
260
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/uniphier-mdmac.c
267
vchan_get_all_descriptors(vc, &head);
drivers/dma/uniphier-mdmac.c
269
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/uniphier-mdmac.c
271
vchan_dma_desc_free_list(vc, &head);
drivers/dma/uniphier-mdmac.c
285
struct virt_dma_chan *vc;
drivers/dma/uniphier-mdmac.c
298
vc = to_virt_chan(chan);
drivers/dma/uniphier-mdmac.c
300
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/uniphier-mdmac.c
302
mc = to_uniphier_mdmac_chan(vc);
drivers/dma/uniphier-mdmac.c
312
vd = vchan_find_desc(vc, cookie);
drivers/dma/uniphier-mdmac.c
323
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/uniphier-mdmac.c
330
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/uniphier-mdmac.c
331
struct uniphier_mdmac_chan *mc = to_uniphier_mdmac_chan(vc);
drivers/dma/uniphier-mdmac.c
334
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/uniphier-mdmac.c
336
if (vchan_issue_pending(vc) && !mc->md)
drivers/dma/uniphier-mdmac.c
339
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/uniphier-mdmac.c
374
mc->vc.desc_free = uniphier_mdmac_desc_free;
drivers/dma/uniphier-mdmac.c
375
vchan_init(&mc->vc, &mdev->ddev);
drivers/dma/uniphier-mdmac.c
60
struct virt_dma_chan vc;
drivers/dma/uniphier-mdmac.c
75
to_uniphier_mdmac_chan(struct virt_dma_chan *vc)
drivers/dma/uniphier-mdmac.c
77
return container_of(vc, struct uniphier_mdmac_chan, vc);
drivers/dma/uniphier-mdmac.c
92
vd = vchan_next_desc(&mc->vc);
drivers/dma/uniphier-xdmac.c
104
to_uniphier_xdmac_chan(struct virt_dma_chan *vc)
drivers/dma/uniphier-xdmac.c
106
return container_of(vc, struct uniphier_xdmac_chan, vc);
drivers/dma/uniphier-xdmac.c
121
vd = vchan_next_desc(&xc->vc);
drivers/dma/uniphier-xdmac.c
235
spin_lock(&xc->vc.lock);
drivers/dma/uniphier-xdmac.c
261
spin_unlock(&xc->vc.lock);
drivers/dma/uniphier-xdmac.c
284
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/uniphier-xdmac.c
315
return vchan_tx_prep(vc, &xd->vd, flags);
drivers/dma/uniphier-xdmac.c
324
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/uniphier-xdmac.c
325
struct uniphier_xdmac_chan *xc = to_uniphier_xdmac_chan(vc);
drivers/dma/uniphier-xdmac.c
391
return vchan_tx_prep(vc, &xd->vd, flags);
drivers/dma/uniphier-xdmac.c
397
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/uniphier-xdmac.c
398
struct uniphier_xdmac_chan *xc = to_uniphier_xdmac_chan(vc);
drivers/dma/uniphier-xdmac.c
407
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/uniphier-xdmac.c
408
struct uniphier_xdmac_chan *xc = to_uniphier_xdmac_chan(vc);
drivers/dma/uniphier-xdmac.c
413
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/uniphier-xdmac.c
421
vchan_get_all_descriptors(vc, &head);
drivers/dma/uniphier-xdmac.c
423
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/uniphier-xdmac.c
425
vchan_dma_desc_free_list(vc, &head);
drivers/dma/uniphier-xdmac.c
437
struct virt_dma_chan *vc = to_virt_chan(chan);
drivers/dma/uniphier-xdmac.c
438
struct uniphier_xdmac_chan *xc = to_uniphier_xdmac_chan(vc);
drivers/dma/uniphier-xdmac.c
441
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/uniphier-xdmac.c
443
if (vchan_issue_pending(vc) && !xc->xd)
drivers/dma/uniphier-xdmac.c
446
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/uniphier-xdmac.c
461
xc->vc.desc_free = uniphier_xdmac_desc_free;
drivers/dma/uniphier-xdmac.c
463
vchan_init(&xc->vc, &xdev->ddev);
drivers/dma/uniphier-xdmac.c
478
return dma_get_slave_channel(&xdev->channels[chan_id].vc.chan);
drivers/dma/uniphier-xdmac.c
87
struct virt_dma_chan vc;
drivers/dma/virt-dma.c
112
void vchan_dma_desc_free_list(struct virt_dma_chan *vc, struct list_head *head)
drivers/dma/virt-dma.c
123
void vchan_init(struct virt_dma_chan *vc, struct dma_device *dmadev)
drivers/dma/virt-dma.c
125
dma_cookie_init(&vc->chan);
drivers/dma/virt-dma.c
127
spin_lock_init(&vc->lock);
drivers/dma/virt-dma.c
128
INIT_LIST_HEAD(&vc->desc_allocated);
drivers/dma/virt-dma.c
129
INIT_LIST_HEAD(&vc->desc_submitted);
drivers/dma/virt-dma.c
130
INIT_LIST_HEAD(&vc->desc_issued);
drivers/dma/virt-dma.c
131
INIT_LIST_HEAD(&vc->desc_completed);
drivers/dma/virt-dma.c
132
INIT_LIST_HEAD(&vc->desc_terminated);
drivers/dma/virt-dma.c
134
tasklet_setup(&vc->task, vchan_complete);
drivers/dma/virt-dma.c
136
vc->chan.device = dmadev;
drivers/dma/virt-dma.c
137
list_add_tail(&vc->chan.device_node, &dmadev->channels);
drivers/dma/virt-dma.c
21
struct virt_dma_chan *vc = to_virt_chan(tx->chan);
drivers/dma/virt-dma.c
26
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/virt-dma.c
29
list_move_tail(&vd->node, &vc->desc_submitted);
drivers/dma/virt-dma.c
30
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/virt-dma.c
32
dev_dbg(vc->chan.device->dev, "vchan %p: txd %p[%x]: submitted\n",
drivers/dma/virt-dma.c
33
vc, vd, cookie);
drivers/dma/virt-dma.c
51
struct virt_dma_chan *vc = to_virt_chan(tx->chan);
drivers/dma/virt-dma.c
55
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/virt-dma.c
57
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/virt-dma.c
59
dev_dbg(vc->chan.device->dev, "vchan %p: txd %p[%x]: freeing\n",
drivers/dma/virt-dma.c
60
vc, vd, vd->tx.cookie);
drivers/dma/virt-dma.c
61
vc->desc_free(vd);
drivers/dma/virt-dma.c
66
struct virt_dma_desc *vchan_find_desc(struct virt_dma_chan *vc,
drivers/dma/virt-dma.c
71
list_for_each_entry(vd, &vc->desc_issued, node)
drivers/dma/virt-dma.c
85
struct virt_dma_chan *vc = from_tasklet(vc, t, task);
drivers/dma/virt-dma.c
90
spin_lock_irq(&vc->lock);
drivers/dma/virt-dma.c
91
list_splice_tail_init(&vc->desc_completed, &head);
drivers/dma/virt-dma.c
92
vd = vc->cyclic;
drivers/dma/virt-dma.c
94
vc->cyclic = NULL;
drivers/dma/virt-dma.c
99
spin_unlock_irq(&vc->lock);
drivers/dma/virt-dma.h
101
lockdep_assert_held(&vc->lock);
drivers/dma/virt-dma.h
105
dev_vdbg(vc->chan.device->dev, "txd %p[%x]: marked complete\n",
drivers/dma/virt-dma.h
107
list_add_tail(&vd->node, &vc->desc_completed);
drivers/dma/virt-dma.h
109
tasklet_schedule(&vc->task);
drivers/dma/virt-dma.h
118
struct virt_dma_chan *vc = to_virt_chan(vd->tx.chan);
drivers/dma/virt-dma.h
123
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/virt-dma.h
124
list_add(&vd->node, &vc->desc_allocated);
drivers/dma/virt-dma.h
125
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/virt-dma.h
127
vc->desc_free(vd);
drivers/dma/virt-dma.h
137
struct virt_dma_chan *vc = to_virt_chan(vd->tx.chan);
drivers/dma/virt-dma.h
139
vc->cyclic = vd;
drivers/dma/virt-dma.h
140
tasklet_schedule(&vc->task);
drivers/dma/virt-dma.h
151
struct virt_dma_chan *vc = to_virt_chan(vd->tx.chan);
drivers/dma/virt-dma.h
153
lockdep_assert_held(&vc->lock);
drivers/dma/virt-dma.h
155
list_add_tail(&vd->node, &vc->desc_terminated);
drivers/dma/virt-dma.h
157
if (vc->cyclic == vd)
drivers/dma/virt-dma.h
158
vc->cyclic = NULL;
drivers/dma/virt-dma.h
167
static inline struct virt_dma_desc *vchan_next_desc(struct virt_dma_chan *vc)
drivers/dma/virt-dma.h
169
lockdep_assert_held(&vc->lock);
drivers/dma/virt-dma.h
171
return list_first_entry_or_null(&vc->desc_issued,
drivers/dma/virt-dma.h
185
static inline void vchan_get_all_descriptors(struct virt_dma_chan *vc,
drivers/dma/virt-dma.h
188
lockdep_assert_held(&vc->lock);
drivers/dma/virt-dma.h
190
list_splice_tail_init(&vc->desc_allocated, head);
drivers/dma/virt-dma.h
191
list_splice_tail_init(&vc->desc_submitted, head);
drivers/dma/virt-dma.h
192
list_splice_tail_init(&vc->desc_issued, head);
drivers/dma/virt-dma.h
193
list_splice_tail_init(&vc->desc_completed, head);
drivers/dma/virt-dma.h
194
list_splice_tail_init(&vc->desc_terminated, head);
drivers/dma/virt-dma.h
197
static inline void vchan_free_chan_resources(struct virt_dma_chan *vc)
drivers/dma/virt-dma.h
203
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/virt-dma.h
204
vchan_get_all_descriptors(vc, &head);
drivers/dma/virt-dma.h
207
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/virt-dma.h
209
vchan_dma_desc_free_list(vc, &head);
drivers/dma/virt-dma.h
221
static inline void vchan_synchronize(struct virt_dma_chan *vc)
drivers/dma/virt-dma.h
226
tasklet_kill(&vc->task);
drivers/dma/virt-dma.h
228
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/virt-dma.h
230
list_splice_tail_init(&vc->desc_terminated, &head);
drivers/dma/virt-dma.h
232
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/virt-dma.h
234
vchan_dma_desc_free_list(vc, &head);
drivers/dma/virt-dma.h
44
void vchan_dma_desc_free_list(struct virt_dma_chan *vc, struct list_head *head);
drivers/dma/virt-dma.h
45
void vchan_init(struct virt_dma_chan *vc, struct dma_device *dmadev);
drivers/dma/virt-dma.h
56
static inline struct dma_async_tx_descriptor *vchan_tx_prep(struct virt_dma_chan *vc,
drivers/dma/virt-dma.h
61
dma_async_tx_descriptor_init(&vd->tx, &vc->chan);
drivers/dma/virt-dma.h
69
spin_lock_irqsave(&vc->lock, flags);
drivers/dma/virt-dma.h
70
list_add_tail(&vd->node, &vc->desc_allocated);
drivers/dma/virt-dma.h
71
spin_unlock_irqrestore(&vc->lock, flags);
drivers/dma/virt-dma.h
82
static inline bool vchan_issue_pending(struct virt_dma_chan *vc)
drivers/dma/virt-dma.h
84
lockdep_assert_held(&vc->lock);
drivers/dma/virt-dma.h
86
list_splice_tail_init(&vc->desc_submitted, &vc->desc_issued);
drivers/dma/virt-dma.h
87
return !list_empty(&vc->desc_issued);
drivers/dma/virt-dma.h
98
struct virt_dma_chan *vc = to_virt_chan(vd->tx.chan);
drivers/gpu/drm/kmb/kmb_regs.h
514
#define SET_MC_FIFO_CHAN_ALLOC(dev, ctrl, vc, sz) \
drivers/gpu/drm/kmb/kmb_regs.h
517
(vc) / 2), ((vc) % 2) * 16, 16, sz)
drivers/gpu/drm/kmb/kmb_regs.h
523
#define SET_MC_FIFO_RTHRESHOLD(dev, ctrl, vc, th) \
drivers/gpu/drm/kmb/kmb_regs.h
525
(vc) / 2), ((vc) % 2) * 16, 16, th)
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk104.c
256
int vc = !next->bios.ramcfg_11_02_08;
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk104.c
272
if (vc == 1 && ram_have(fuc, gpio2E)) {
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk104.c
601
if (vc == 0 && ram_have(fuc, gpio2E)) {
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk104.c
707
int vc = !next->bios.ramcfg_11_02_08;
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk104.c
717
if (vc == 1 && ram_have(fuc, gpio2E)) {
drivers/gpu/drm/nouveau/nvkm/subdev/fb/ramgk104.c
926
if (vc == 0 && ram_have(fuc, gpio2E)) {
drivers/gpu/drm/omapdrm/dss/dsi.c
1656
dsi->vc[0].tx_fifo_size = size1;
drivers/gpu/drm/omapdrm/dss/dsi.c
1657
dsi->vc[1].tx_fifo_size = size2;
drivers/gpu/drm/omapdrm/dss/dsi.c
1658
dsi->vc[2].tx_fifo_size = size3;
drivers/gpu/drm/omapdrm/dss/dsi.c
1659
dsi->vc[3].tx_fifo_size = size4;
drivers/gpu/drm/omapdrm/dss/dsi.c
1663
int size = dsi->vc[i].tx_fifo_size;
drivers/gpu/drm/omapdrm/dss/dsi.c
1688
dsi->vc[0].rx_fifo_size = size1;
drivers/gpu/drm/omapdrm/dss/dsi.c
1689
dsi->vc[1].rx_fifo_size = size2;
drivers/gpu/drm/omapdrm/dss/dsi.c
1690
dsi->vc[2].rx_fifo_size = size3;
drivers/gpu/drm/omapdrm/dss/dsi.c
1691
dsi->vc[3].rx_fifo_size = size4;
drivers/gpu/drm/omapdrm/dss/dsi.c
1695
int size = dsi->vc[i].rx_fifo_size;
drivers/gpu/drm/omapdrm/dss/dsi.c
1728
static bool dsi_vc_is_enabled(struct dsi_data *dsi, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
1730
return REG_GET(dsi, DSI_VC_CTRL(vc), 0, 0);
drivers/gpu/drm/omapdrm/dss/dsi.c
1738
const int vc = dsi->update_vc;
drivers/gpu/drm/omapdrm/dss/dsi.c
1741
if (REG_GET(dsi, DSI_VC_TE(vc), bit, bit) == 0)
drivers/gpu/drm/omapdrm/dss/dsi.c
1745
static int dsi_sync_vc_vp(struct dsi_data *dsi, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
1757
r = dsi_register_isr_vc(dsi, vc, dsi_packet_sent_handler_vp,
drivers/gpu/drm/omapdrm/dss/dsi.c
1763
if (REG_GET(dsi, DSI_VC_TE(vc), bit, bit)) {
drivers/gpu/drm/omapdrm/dss/dsi.c
1772
dsi_unregister_isr_vc(dsi, vc, dsi_packet_sent_handler_vp,
drivers/gpu/drm/omapdrm/dss/dsi.c
1777
dsi_unregister_isr_vc(dsi, vc, dsi_packet_sent_handler_vp,
drivers/gpu/drm/omapdrm/dss/dsi.c
1788
const int vc = dsi->update_vc;
drivers/gpu/drm/omapdrm/dss/dsi.c
1790
if (REG_GET(dsi, DSI_VC_CTRL(vc), 5, 5) == 0)
drivers/gpu/drm/omapdrm/dss/dsi.c
1794
static int dsi_sync_vc_l4(struct dsi_data *dsi, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
1803
r = dsi_register_isr_vc(dsi, vc, dsi_packet_sent_handler_l4,
drivers/gpu/drm/omapdrm/dss/dsi.c
1809
if (REG_GET(dsi, DSI_VC_CTRL(vc), 5, 5)) {
drivers/gpu/drm/omapdrm/dss/dsi.c
1818
dsi_unregister_isr_vc(dsi, vc, dsi_packet_sent_handler_l4,
drivers/gpu/drm/omapdrm/dss/dsi.c
1823
dsi_unregister_isr_vc(dsi, vc, dsi_packet_sent_handler_l4,
drivers/gpu/drm/omapdrm/dss/dsi.c
1829
static int dsi_sync_vc(struct dsi_data *dsi, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
1835
if (!dsi_vc_is_enabled(dsi, vc))
drivers/gpu/drm/omapdrm/dss/dsi.c
1838
switch (dsi->vc[vc].source) {
drivers/gpu/drm/omapdrm/dss/dsi.c
1840
return dsi_sync_vc_vp(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
1842
return dsi_sync_vc_l4(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
1849
static int dsi_vc_enable(struct dsi_data *dsi, int vc, bool enable)
drivers/gpu/drm/omapdrm/dss/dsi.c
1852
vc, enable);
drivers/gpu/drm/omapdrm/dss/dsi.c
1856
REG_FLD_MOD(dsi, DSI_VC_CTRL(vc), enable, 0, 0);
drivers/gpu/drm/omapdrm/dss/dsi.c
1858
if (!wait_for_bit_change(dsi, DSI_VC_CTRL(vc), 0, enable)) {
drivers/gpu/drm/omapdrm/dss/dsi.c
1866
static void dsi_vc_initial_config(struct dsi_data *dsi, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
1870
DSSDBG("Initial config of VC %d", vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
1872
r = dsi_read_reg(dsi, DSI_VC_CTRL(vc));
drivers/gpu/drm/omapdrm/dss/dsi.c
1876
vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
1891
dsi_write_reg(dsi, DSI_VC_CTRL(vc), r);
drivers/gpu/drm/omapdrm/dss/dsi.c
1893
dsi->vc[vc].source = DSI_VC_SOURCE_L4;
drivers/gpu/drm/omapdrm/dss/dsi.c
1896
static void dsi_vc_enable_hs(struct omap_dss_device *dssdev, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
1901
DSSDBG("dsi_vc_enable_hs(%d, %d)\n", vc, enable);
drivers/gpu/drm/omapdrm/dss/dsi.c
1903
if (REG_GET(dsi, DSI_VC_CTRL(vc), 9, 9) == enable)
drivers/gpu/drm/omapdrm/dss/dsi.c
1908
dsi_vc_enable(dsi, vc, 0);
drivers/gpu/drm/omapdrm/dss/dsi.c
1911
REG_FLD_MOD(dsi, DSI_VC_CTRL(vc), enable, 9, 9);
drivers/gpu/drm/omapdrm/dss/dsi.c
1913
dsi_vc_enable(dsi, vc, 1);
drivers/gpu/drm/omapdrm/dss/dsi.c
1919
static void dsi_vc_flush_long_data(struct dsi_data *dsi, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
1921
while (REG_GET(dsi, DSI_VC_CTRL(vc), 20, 20)) {
drivers/gpu/drm/omapdrm/dss/dsi.c
1923
val = dsi_read_reg(dsi, DSI_VC_SHORT_PACKET_HEADER(vc));
drivers/gpu/drm/omapdrm/dss/dsi.c
1969
static u16 dsi_vc_flush_receive_data(struct dsi_data *dsi, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
1972
while (REG_GET(dsi, DSI_VC_CTRL(vc), 20, 20)) {
drivers/gpu/drm/omapdrm/dss/dsi.c
1975
val = dsi_read_reg(dsi, DSI_VC_SHORT_PACKET_HEADER(vc));
drivers/gpu/drm/omapdrm/dss/dsi.c
1990
dsi_vc_flush_long_data(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
1998
static int dsi_vc_send_bta(struct dsi_data *dsi, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
2001
DSSDBG("dsi_vc_send_bta %d\n", vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
2006
if (REG_GET(dsi, DSI_VC_CTRL(vc), 20, 20)) {
drivers/gpu/drm/omapdrm/dss/dsi.c
2008
dsi_vc_flush_receive_data(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
2011
REG_FLD_MOD(dsi, DSI_VC_CTRL(vc), 1, 6, 6); /* BTA_EN */
drivers/gpu/drm/omapdrm/dss/dsi.c
2014
dsi_read_reg(dsi, DSI_VC_CTRL(vc));
drivers/gpu/drm/omapdrm/dss/dsi.c
2019
static int dsi_vc_send_bta_sync(struct omap_dss_device *dssdev, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
2026
r = dsi_register_isr_vc(dsi, vc, dsi_completion_handler,
drivers/gpu/drm/omapdrm/dss/dsi.c
2036
r = dsi_vc_send_bta(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
2057
dsi_unregister_isr_vc(dsi, vc, dsi_completion_handler,
drivers/gpu/drm/omapdrm/dss/dsi.c
2063
static inline void dsi_vc_write_long_header(struct dsi_data *dsi, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
2077
dsi_write_reg(dsi, DSI_VC_LONG_PACKET_HEADER(vc), val);
drivers/gpu/drm/omapdrm/dss/dsi.c
2080
static inline void dsi_vc_write_long_payload(struct dsi_data *dsi, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
2090
dsi_write_reg(dsi, DSI_VC_LONG_PACKET_PAYLOAD(vc), val);
drivers/gpu/drm/omapdrm/dss/dsi.c
2093
static int dsi_vc_send_long(struct dsi_data *dsi, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
2106
if (dsi->vc[vc].tx_fifo_size * 32 * 4 < msg->tx_len + 4) {
drivers/gpu/drm/omapdrm/dss/dsi.c
2111
dsi_vc_write_long_header(dsi, vc, msg->channel, msg->type, msg->tx_len, 0);
drivers/gpu/drm/omapdrm/dss/dsi.c
2123
dsi_vc_write_long_payload(dsi, vc, b1, b2, b3, b4);
drivers/gpu/drm/omapdrm/dss/dsi.c
2148
dsi_vc_write_long_payload(dsi, vc, b1, b2, b3, 0);
drivers/gpu/drm/omapdrm/dss/dsi.c
2154
static int dsi_vc_send_short(struct dsi_data *dsi, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
2169
vc, msg->type, pkt.header[1], pkt.header[2]);
drivers/gpu/drm/omapdrm/dss/dsi.c
2171
if (FLD_GET(dsi_read_reg(dsi, DSI_VC_CTRL(vc)), 16, 16)) {
drivers/gpu/drm/omapdrm/dss/dsi.c
2179
dsi_write_reg(dsi, DSI_VC_SHORT_PACKET_HEADER(vc), r);
drivers/gpu/drm/omapdrm/dss/dsi.c
2184
static int dsi_vc_send_null(struct dsi_data *dsi, int vc, int channel)
drivers/gpu/drm/omapdrm/dss/dsi.c
2191
return dsi_vc_send_long(dsi, vc, &msg);
drivers/gpu/drm/omapdrm/dss/dsi.c
2194
static int dsi_vc_write_common(struct omap_dss_device *dssdev, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
2201
r = dsi_vc_send_short(dsi, vc, msg);
drivers/gpu/drm/omapdrm/dss/dsi.c
2203
r = dsi_vc_send_long(dsi, vc, msg);
drivers/gpu/drm/omapdrm/dss/dsi.c
2215
r = dsi_vc_send_bta_sync(dssdev, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
2222
if (REG_GET(dsi, DSI_VC_CTRL(vc), 20, 20)) {
drivers/gpu/drm/omapdrm/dss/dsi.c
2224
dsi_vc_flush_receive_data(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
2231
static int dsi_vc_read_rx_fifo(struct dsi_data *dsi, int vc, u8 *buf,
drivers/gpu/drm/omapdrm/dss/dsi.c
2239
if (REG_GET(dsi, DSI_VC_CTRL(vc), 20, 20) == 0) {
drivers/gpu/drm/omapdrm/dss/dsi.c
2245
val = dsi_read_reg(dsi, DSI_VC_SHORT_PACKET_HEADER(vc));
drivers/gpu/drm/omapdrm/dss/dsi.c
2309
DSI_VC_SHORT_PACKET_HEADER(vc));
drivers/gpu/drm/omapdrm/dss/dsi.c
2333
DSSERR("dsi_vc_read_rx_fifo(vc %d type %s) failed\n", vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
2339
static int dsi_vc_dcs_read(struct omap_dss_device *dssdev, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
2347
DSSDBG("%s(vc %d, cmd %x)\n", __func__, vc, cmd);
drivers/gpu/drm/omapdrm/dss/dsi.c
2349
r = dsi_vc_send_short(dsi, vc, msg);
drivers/gpu/drm/omapdrm/dss/dsi.c
2353
r = dsi_vc_send_bta_sync(dssdev, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
2357
r = dsi_vc_read_rx_fifo(dsi, vc, msg->rx_buf, msg->rx_len,
drivers/gpu/drm/omapdrm/dss/dsi.c
2369
DSSERR("%s(vc %d, cmd 0x%02x) failed\n", __func__, vc, cmd);
drivers/gpu/drm/omapdrm/dss/dsi.c
2373
static int dsi_vc_generic_read(struct omap_dss_device *dssdev, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
2379
r = dsi_vc_send_short(dsi, vc, msg);
drivers/gpu/drm/omapdrm/dss/dsi.c
2383
r = dsi_vc_send_bta_sync(dssdev, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
2387
r = dsi_vc_read_rx_fifo(dsi, vc, msg->rx_buf, msg->rx_len,
drivers/gpu/drm/omapdrm/dss/dsi.c
2399
DSSERR("%s(vc %d, reqlen %zu) failed\n", __func__, vc, msg->tx_len);
drivers/gpu/drm/omapdrm/dss/dsi.c
257
static void print_irq_status_vc(int vc, u32 status)
drivers/gpu/drm/omapdrm/dss/dsi.c
268
vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
2994
static int dsi_enable_video_mode(struct dsi_data *dsi, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
3018
dsi_vc_enable(dsi, vc, false);
drivers/gpu/drm/omapdrm/dss/dsi.c
3021
REG_FLD_MOD(dsi, DSI_VC_CTRL(vc), 1, 4, 4);
drivers/gpu/drm/omapdrm/dss/dsi.c
3025
dsi_vc_write_long_header(dsi, vc, dsi->dsidev->channel, data_type,
drivers/gpu/drm/omapdrm/dss/dsi.c
3028
dsi_vc_enable(dsi, vc, true);
drivers/gpu/drm/omapdrm/dss/dsi.c
3034
static void dsi_disable_video_mode(struct dsi_data *dsi, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
3037
dsi_vc_enable(dsi, vc, false);
drivers/gpu/drm/omapdrm/dss/dsi.c
3040
REG_FLD_MOD(dsi, DSI_VC_CTRL(vc), 0, 4, 4);
drivers/gpu/drm/omapdrm/dss/dsi.c
3042
dsi_vc_enable(dsi, vc, true);
drivers/gpu/drm/omapdrm/dss/dsi.c
3046
static void dsi_enable_video_output(struct omap_dss_device *dssdev, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
3058
r = dsi_enable_video_mode(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
3072
dsi_vc_enable(dsi, vc, false);
drivers/gpu/drm/omapdrm/dss/dsi.c
3080
static void dsi_disable_video_output(struct omap_dss_device *dssdev, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
3085
dsi_disable_video_mode(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
3102
const unsigned vc = dsi->update_vc;
drivers/gpu/drm/omapdrm/dss/dsi.c
3128
dsi_write_reg(dsi, DSI_VC_TE(vc), l);
drivers/gpu/drm/omapdrm/dss/dsi.c
3130
dsi_vc_write_long_header(dsi, vc, dsi->dsidev->channel, MIPI_DSI_DCS_LONG_WRITE,
drivers/gpu/drm/omapdrm/dss/dsi.c
3137
dsi_write_reg(dsi, DSI_VC_TE(vc), l);
drivers/gpu/drm/omapdrm/dss/dsi.c
3160
dsi_vc_send_bta(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
3236
static int _dsi_send_nop(struct dsi_data *dsi, int vc, int channel)
drivers/gpu/drm/omapdrm/dss/dsi.c
3248
return _omap_dsi_host_transfer(dsi, vc, &msg);
drivers/gpu/drm/omapdrm/dss/dsi.c
3251
static int dsi_update_channel(struct omap_dss_device *dssdev, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
3268
DSSDBG("dsi_update_channel: %d", vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
3281
dsi->update_vc = vc;
drivers/gpu/drm/omapdrm/dss/dsi.c
3405
dsi->vc[VC_CMD].source = DSI_VC_SOURCE_L4;
drivers/gpu/drm/omapdrm/dss/dsi.c
3411
dsi->vc[VC_VIDEO].source = DSI_VC_SOURCE_VP;
drivers/gpu/drm/omapdrm/dss/dsi.c
4188
static ssize_t _omap_dsi_host_transfer(struct dsi_data *dsi, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
4194
dsi_vc_enable_hs(dssdev, vc, !(msg->flags & MIPI_DSI_MSG_USE_LPM));
drivers/gpu/drm/omapdrm/dss/dsi.c
4206
r = dsi_vc_write_common(dssdev, vc, msg);
drivers/gpu/drm/omapdrm/dss/dsi.c
4211
r = dsi_vc_generic_read(dssdev, vc, msg);
drivers/gpu/drm/omapdrm/dss/dsi.c
4214
r = dsi_vc_dcs_read(dssdev, vc, msg);
drivers/gpu/drm/omapdrm/dss/dsi.c
4242
int vc = VC_CMD;
drivers/gpu/drm/omapdrm/dss/dsi.c
4251
r = _omap_dsi_host_transfer(dsi, vc, msg);
drivers/gpu/drm/omapdrm/dss/dsi.c
4993
for (i = 0; i < ARRAY_SIZE(dsi->vc); i++)
drivers/gpu/drm/omapdrm/dss/dsi.c
4994
dsi->vc[i].source = DSI_VC_SOURCE_L4;
drivers/gpu/drm/omapdrm/dss/dsi.c
521
static void _omap_dsi_set_irqs_vc(struct dsi_data *dsi, int vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
523
_omap_dsi_configure_irqs(dsi, dsi->isr_tables.isr_table_vc[vc],
drivers/gpu/drm/omapdrm/dss/dsi.c
524
ARRAY_SIZE(dsi->isr_tables.isr_table_vc[vc]),
drivers/gpu/drm/omapdrm/dss/dsi.c
526
DSI_VC_IRQENABLE(vc), DSI_VC_IRQSTATUS(vc));
drivers/gpu/drm/omapdrm/dss/dsi.c
541
int vc;
drivers/gpu/drm/omapdrm/dss/dsi.c
548
for (vc = 0; vc < 4; ++vc)
drivers/gpu/drm/omapdrm/dss/dsi.c
549
_omap_dsi_set_irqs_vc(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
59
static int dsi_vc_send_null(struct dsi_data *dsi, int vc, int channel);
drivers/gpu/drm/omapdrm/dss/dsi.c
61
static ssize_t _omap_dsi_host_transfer(struct dsi_data *dsi, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
649
static int dsi_register_isr_vc(struct dsi_data *dsi, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
658
dsi->isr_tables.isr_table_vc[vc],
drivers/gpu/drm/omapdrm/dss/dsi.c
659
ARRAY_SIZE(dsi->isr_tables.isr_table_vc[vc]));
drivers/gpu/drm/omapdrm/dss/dsi.c
662
_omap_dsi_set_irqs_vc(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.c
669
static int dsi_unregister_isr_vc(struct dsi_data *dsi, int vc,
drivers/gpu/drm/omapdrm/dss/dsi.c
678
dsi->isr_tables.isr_table_vc[vc],
drivers/gpu/drm/omapdrm/dss/dsi.c
679
ARRAY_SIZE(dsi->isr_tables.isr_table_vc[vc]));
drivers/gpu/drm/omapdrm/dss/dsi.c
682
_omap_dsi_set_irqs_vc(dsi, vc);
drivers/gpu/drm/omapdrm/dss/dsi.h
375
} vc[4];
drivers/gpu/drm/radeon/r600_cs.c
86
#define FMT_8_BIT(fmt, vc) [fmt] = { 1, 1, 1, vc, CHIP_R600 }
drivers/gpu/drm/radeon/r600_cs.c
87
#define FMT_16_BIT(fmt, vc) [fmt] = { 1, 1, 2, vc, CHIP_R600 }
drivers/gpu/drm/radeon/r600_cs.c
89
#define FMT_32_BIT(fmt, vc) [fmt] = { 1, 1, 4, vc, CHIP_R600 }
drivers/gpu/drm/radeon/r600_cs.c
91
#define FMT_64_BIT(fmt, vc) [fmt] = { 1, 1, 8, vc, CHIP_R600 }
drivers/gpu/drm/radeon/r600_cs.c
93
#define FMT_128_BIT(fmt, vc) [fmt] = { 1, 1, 16,vc, CHIP_R600 }
drivers/gpu/drm/sprd/sprd_dsi.c
619
static int sprd_dsi_wr_pkt(struct dsi_context *ctx, u8 vc, u8 type,
drivers/gpu/drm/sprd/sprd_dsi.c
627
if (vc > 3)
drivers/gpu/drm/sprd/sprd_dsi.c
659
writel(type | (vc << 6) | (wc_lsbyte << 8) | (wc_msbyte << 16),
drivers/gpu/drm/sprd/sprd_dsi.c
674
static int sprd_dsi_rd_pkt(struct dsi_context *ctx, u8 vc, u8 type,
drivers/gpu/drm/sprd/sprd_dsi.c
683
if (vc > 3)
drivers/gpu/drm/sprd/sprd_dsi.c
691
writel(type | (vc << 6) | (lsb_byte << 8) | (msb_byte << 16),
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
266
static u32 sun6i_dsi_build_sync_pkt(u8 dt, u8 vc, u8 d0, u8 d1)
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
270
val |= (vc & 3) << 6;
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
278
static u32 sun6i_dsi_build_blk0_pkt(u8 vc, u16 wc)
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c
280
return sun6i_dsi_build_sync_pkt(MIPI_DSI_BLANKING_PACKET, vc,
drivers/gpu/ipu-v3/ipu-csi.c
551
int ipu_csi_set_mipi_datatype(struct ipu_csi *csi, u32 vc,
drivers/gpu/ipu-v3/ipu-csi.c
559
if (vc > 3)
drivers/gpu/ipu-v3/ipu-csi.c
569
temp &= ~(0xff << (vc * 8));
drivers/gpu/ipu-v3/ipu-csi.c
570
temp |= (cfg.mipi_dt << (vc * 8));
drivers/iio/adc/rzn1-adc.c
145
u32 vc = 0;
drivers/iio/adc/rzn1-adc.c
148
vc |= RZN1_ADC_VC_ADC1_ENABLE |
drivers/iio/adc/rzn1-adc.c
152
vc |= RZN1_ADC_VC_ADC2_ENABLE |
drivers/iio/adc/rzn1-adc.c
155
writel(vc, rzn1_adc->regs + RZN1_ADC_VC_REG(ch));
drivers/media/i2c/adv748x/adv748x-csi2.c
25
int adv748x_csi2_set_virtual_channel(struct adv748x_csi2 *tx, unsigned int vc)
drivers/media/i2c/adv748x/adv748x-csi2.c
27
return tx_write(tx, ADV748X_CSI_VC_REF, vc << ADV748X_CSI_VC_REF_SHIFT);
drivers/media/i2c/adv748x/adv748x.h
437
int adv748x_csi2_set_virtual_channel(struct adv748x_csi2 *tx, unsigned int vc);
drivers/media/i2c/cvs/icvs.h
181
u8 vc;
drivers/media/i2c/ds90ub960.c
3473
struct v4l2_subdev_state *state, u8 *vc)
drivers/media/i2c/ds90ub960.c
3488
vc[rx] = cur_vc[tx]++;
drivers/media/i2c/ds90ub960.c
3546
u8 vc;
drivers/media/i2c/ds90ub960.c
3560
vc = desc.entry[0].bus.csi2.vc;
drivers/media/i2c/ds90ub960.c
3563
if (vc == desc.entry[i].bus.csi2.vc)
drivers/media/i2c/ds90ub960.c
3661
u8 vc = vc_map[nport];
drivers/media/i2c/ds90ub960.c
3669
rx_data[nport].pixel_dt | (vc << UB960_RR_RAW10_ID_VC_SHIFT),
drivers/media/i2c/ds90ub960.c
3690
(vc << UB960_RR_CSI_VC_MAP_SHIFT(3)) |
drivers/media/i2c/ds90ub960.c
3691
(vc << UB960_RR_CSI_VC_MAP_SHIFT(2)) |
drivers/media/i2c/ds90ub960.c
3692
(vc << UB960_RR_CSI_VC_MAP_SHIFT(1)) |
drivers/media/i2c/ds90ub960.c
3693
(vc << UB960_RR_CSI_VC_MAP_SHIFT(0)),
drivers/media/i2c/ds90ub960.c
4010
fd->entry[fd->num_entries].bus.csi2.vc = vc_map[nport];
drivers/media/i2c/mt9m114.c
281
#define MT9M114_CAM_PORT_CHAN_NUM(vc) ((vc) << 8)
drivers/media/i2c/vd56g3.c
897
fd->entry[0].bus.csi2.vc = 0;
drivers/media/i2c/vgxy61.c
1193
fd->entry[0].bus.csi2.vc = 0;
drivers/media/pci/cx88/cx88-video.c
1316
struct v4l2_ctrl *vc;
drivers/media/pci/cx88/cx88-video.c
1318
vc = v4l2_ctrl_new_std(&core->audio_hdl, &cx8800_ctrl_aud_ops,
drivers/media/pci/cx88/cx88-video.c
1321
if (!vc) {
drivers/media/pci/cx88/cx88-video.c
1325
vc->priv = (void *)cc;
drivers/media/pci/cx88/cx88-video.c
1330
struct v4l2_ctrl *vc;
drivers/media/pci/cx88/cx88-video.c
1332
vc = v4l2_ctrl_new_std(&core->video_hdl, &cx8800_ctrl_vid_ops,
drivers/media/pci/cx88/cx88-video.c
1335
if (!vc) {
drivers/media/pci/cx88/cx88-video.c
1339
vc->priv = (void *)cc;
drivers/media/pci/cx88/cx88-video.c
1340
if (vc->id == V4L2_CID_CHROMA_AGC)
drivers/media/pci/cx88/cx88-video.c
1341
core->chroma_agc = vc;
drivers/media/pci/intel/ipu3/ipu3-cio2.h
82
#define CIO2_REG_MIPIBE_COMP_FORMAT(vc) \
drivers/media/pci/intel/ipu3/ipu3-cio2.h
83
(CIO2_REG_MIPIBE_BASE + 0x8 + 0x4 * (vc))
drivers/media/pci/intel/ipu3/ipu3-cio2.h
96
#define CIO2_REG_MIPIBE_SP_LUT_ENTRY(vc) \
drivers/media/pci/intel/ipu3/ipu3-cio2.h
97
(CIO2_REG_MIPIBE_BASE + 0x74 + 4 * (vc))
drivers/media/pci/intel/ipu6/ipu6-fw-isys.c
385
dev_dbg(dev, "compfmt = %d\n", cfg->vc);
drivers/media/pci/intel/ipu6/ipu6-fw-isys.c
387
dev_dbg(dev, "vc = %d\n", cfg->vc);
drivers/media/pci/intel/ipu6/ipu6-fw-isys.h
421
u8 vc;
drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c
583
csi2->port, ev.u.frame_sync.frame_sequence, stream->vc);
drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c
639
if (desc_entry->bus.csi2.vc >= NR_OF_CSI2_VC) {
drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c
640
dev_err(dev, "invalid vc %d\n", desc_entry->bus.csi2.vc);
drivers/media/pci/intel/ipu6/ipu6-isys-video.c
1204
av->vc = 0;
drivers/media/pci/intel/ipu6/ipu6-isys-video.c
1208
entry.stream, entry.length, entry.bus.csi2.vc,
drivers/media/pci/intel/ipu6/ipu6-isys-video.c
1211
av->vc = entry.bus.csi2.vc;
drivers/media/pci/intel/ipu6/ipu6-isys-video.c
538
stream_cfg->vc = stream->vc;
drivers/media/pci/intel/ipu6/ipu6-isys-video.c
879
u8 vc = av->vc;
drivers/media/pci/intel/ipu6/ipu6-isys-video.c
886
if (isys->streams_ref_count[i] && isys->streams[i].vc == vc &&
drivers/media/pci/intel/ipu6/ipu6-isys-video.c
899
stream->vc = vc;
drivers/media/pci/intel/ipu6/ipu6-isys-video.c
936
ipu6_isys_query_stream_by_source(struct ipu6_isys *isys, int source, u8 vc)
drivers/media/pci/intel/ipu6/ipu6-isys-video.c
957
isys->streams[i].vc == vc) {
drivers/media/pci/intel/ipu6/ipu6-isys-video.h
123
ipu6_isys_query_stream_by_source(struct ipu6_isys *isys, int source, u8 vc);
drivers/media/pci/intel/ipu6/ipu6-isys-video.h
66
u8 vc;
drivers/media/pci/intel/ipu6/ipu6-isys-video.h
95
u8 vc;
drivers/media/pci/intel/ipu6/ipu6-isys.c
157
isys->streams[i].vc = INVALID_VC_ID;
drivers/media/pci/tw686x/tw686x-video.c
1000
if (vb2_is_busy(&vc->vidq))
drivers/media/pci/tw686x/tw686x-video.c
1003
tw686x_set_input(vc, i);
drivers/media/pci/tw686x/tw686x-video.c
1009
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
101
static int tw686x_memcpy_dma_alloc(struct tw686x_video_channel *vc,
drivers/media/pci/tw686x/tw686x-video.c
1011
*i = vc->input;
drivers/media/pci/tw686x/tw686x-video.c
1018
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
1026
i->std = vc->device->tvnorms;
drivers/media/pci/tw686x/tw686x-video.c
1029
vidstat = reg_read(vc->dev, VIDSTAT[vc->ch]);
drivers/media/pci/tw686x/tw686x-video.c
104
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
105
u32 reg = pb ? VDMA_B_ADDR[vc->ch] : VDMA_P_ADDR[vc->ch];
drivers/media/pci/tw686x/tw686x-video.c
1087
struct tw686x_video_channel *vc;
drivers/media/pci/tw686x/tw686x-video.c
109
WARN(vc->dma_descs[pb].virt,
drivers/media/pci/tw686x/tw686x-video.c
1092
vc = &dev->video_channels[ch];
drivers/media/pci/tw686x/tw686x-video.c
1099
if (vc->no_signal && !(fifo_status & BIT(ch))) {
drivers/media/pci/tw686x/tw686x-video.c
1101
"video%d: signal recovered\n", vc->num);
drivers/media/pci/tw686x/tw686x-video.c
1102
vc->no_signal = false;
drivers/media/pci/tw686x/tw686x-video.c
1104
vc->pb = 0;
drivers/media/pci/tw686x/tw686x-video.c
1107
vc->no_signal = !!(fifo_status & BIT(ch));
drivers/media/pci/tw686x/tw686x-video.c
1110
if (!vc->no_signal) {
drivers/media/pci/tw686x/tw686x-video.c
1118
"video%d: FIFO error\n", vc->num);
drivers/media/pci/tw686x/tw686x-video.c
112
len = (vc->width * vc->height * vc->format->depth) >> 3;
drivers/media/pci/tw686x/tw686x-video.c
1120
vc->pb = 0;
drivers/media/pci/tw686x/tw686x-video.c
1126
if (vc->pb != pb) {
drivers/media/pci/tw686x/tw686x-video.c
1130
vc->num);
drivers/media/pci/tw686x/tw686x-video.c
1132
vc->pb = 0;
drivers/media/pci/tw686x/tw686x-video.c
1136
spin_lock_irqsave(&vc->qlock, flags);
drivers/media/pci/tw686x/tw686x-video.c
1137
tw686x_buf_done(vc, pb);
drivers/media/pci/tw686x/tw686x-video.c
1138
dev->dma_ops->buf_refill(vc, pb);
drivers/media/pci/tw686x/tw686x-video.c
1139
spin_unlock_irqrestore(&vc->qlock, flags);
drivers/media/pci/tw686x/tw686x-video.c
114
&vc->dma_descs[pb].phys, GFP_KERNEL);
drivers/media/pci/tw686x/tw686x-video.c
1148
struct tw686x_video_channel *vc = &dev->video_channels[ch];
drivers/media/pci/tw686x/tw686x-video.c
1150
video_unregister_device(vc->device);
drivers/media/pci/tw686x/tw686x-video.c
1154
dev->dma_ops->free(vc, pb);
drivers/media/pci/tw686x/tw686x-video.c
118
vc->ch, pb ? "B" : "P");
drivers/media/pci/tw686x/tw686x-video.c
1184
struct tw686x_video_channel *vc = &dev->video_channels[ch];
drivers/media/pci/tw686x/tw686x-video.c
1186
vc->dev = dev;
drivers/media/pci/tw686x/tw686x-video.c
1187
vc->ch = ch;
drivers/media/pci/tw686x/tw686x-video.c
1191
struct tw686x_video_channel *vc = &dev->video_channels[ch];
drivers/media/pci/tw686x/tw686x-video.c
1194
mutex_init(&vc->vb_mutex);
drivers/media/pci/tw686x/tw686x-video.c
1195
spin_lock_init(&vc->qlock);
drivers/media/pci/tw686x/tw686x-video.c
1196
INIT_LIST_HEAD(&vc->vidq_queued);
drivers/media/pci/tw686x/tw686x-video.c
1199
err = tw686x_set_standard(vc, V4L2_STD_NTSC);
drivers/media/pci/tw686x/tw686x-video.c
1203
err = tw686x_set_format(vc, formats[0].fourcc,
drivers/media/pci/tw686x/tw686x-video.c
1205
TW686X_VIDEO_HEIGHT(vc->video_standard),
drivers/media/pci/tw686x/tw686x-video.c
121
vc->dma_descs[pb].size = len;
drivers/media/pci/tw686x/tw686x-video.c
1210
tw686x_set_input(vc, 0);
drivers/media/pci/tw686x/tw686x-video.c
1211
tw686x_set_framerate(vc, 30);
drivers/media/pci/tw686x/tw686x-video.c
1216
vc->vidq.io_modes = VB2_READ | VB2_MMAP | VB2_DMABUF;
drivers/media/pci/tw686x/tw686x-video.c
1217
vc->vidq.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
drivers/media/pci/tw686x/tw686x-video.c
1218
vc->vidq.drv_priv = vc;
drivers/media/pci/tw686x/tw686x-video.c
1219
vc->vidq.buf_struct_size = sizeof(struct tw686x_v4l2_buf);
drivers/media/pci/tw686x/tw686x-video.c
122
vc->dma_descs[pb].virt = virt;
drivers/media/pci/tw686x/tw686x-video.c
1220
vc->vidq.ops = &tw686x_video_qops;
drivers/media/pci/tw686x/tw686x-video.c
1221
vc->vidq.mem_ops = dev->dma_ops->mem_ops;
drivers/media/pci/tw686x/tw686x-video.c
1222
vc->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
drivers/media/pci/tw686x/tw686x-video.c
1223
vc->vidq.min_queued_buffers = 2;
drivers/media/pci/tw686x/tw686x-video.c
1224
vc->vidq.lock = &vc->vb_mutex;
drivers/media/pci/tw686x/tw686x-video.c
1225
vc->vidq.gfp_flags = dev->dma_mode != TW686X_DMA_MODE_MEMCPY ?
drivers/media/pci/tw686x/tw686x-video.c
1227
vc->vidq.dev = &dev->pci_dev->dev;
drivers/media/pci/tw686x/tw686x-video.c
1229
err = vb2_queue_init(&vc->vidq);
drivers/media/pci/tw686x/tw686x-video.c
123
reg_write(dev, reg, vc->dma_descs[pb].phys);
drivers/media/pci/tw686x/tw686x-video.c
1236
err = v4l2_ctrl_handler_init(&vc->ctrl_handler, 4);
drivers/media/pci/tw686x/tw686x-video.c
1242
v4l2_ctrl_new_std(&vc->ctrl_handler, &ctrl_ops,
drivers/media/pci/tw686x/tw686x-video.c
1244
v4l2_ctrl_new_std(&vc->ctrl_handler, &ctrl_ops,
drivers/media/pci/tw686x/tw686x-video.c
1246
v4l2_ctrl_new_std(&vc->ctrl_handler, &ctrl_ops,
drivers/media/pci/tw686x/tw686x-video.c
1248
v4l2_ctrl_new_std(&vc->ctrl_handler, &ctrl_ops,
drivers/media/pci/tw686x/tw686x-video.c
1250
err = vc->ctrl_handler.error;
drivers/media/pci/tw686x/tw686x-video.c
1254
err = v4l2_ctrl_handler_setup(&vc->ctrl_handler);
drivers/media/pci/tw686x/tw686x-video.c
1271
vdev->queue = &vc->vidq;
drivers/media/pci/tw686x/tw686x-video.c
1274
vdev->lock = &vc->vb_mutex;
drivers/media/pci/tw686x/tw686x-video.c
1275
vdev->ctrl_handler = &vc->ctrl_handler;
drivers/media/pci/tw686x/tw686x-video.c
1278
vc->device = vdev;
drivers/media/pci/tw686x/tw686x-video.c
1279
video_set_drvdata(vdev, vc);
drivers/media/pci/tw686x/tw686x-video.c
128
static void tw686x_memcpy_buf_refill(struct tw686x_video_channel *vc,
drivers/media/pci/tw686x/tw686x-video.c
1286
vc->num = vdev->num;
drivers/media/pci/tw686x/tw686x-video.c
133
while (!list_empty(&vc->vidq_queued)) {
drivers/media/pci/tw686x/tw686x-video.c
135
buf = list_first_entry(&vc->vidq_queued,
drivers/media/pci/tw686x/tw686x-video.c
139
vc->curr_bufs[pb] = buf;
drivers/media/pci/tw686x/tw686x-video.c
142
vc->curr_bufs[pb] = NULL;
drivers/media/pci/tw686x/tw686x-video.c
154
static void tw686x_contig_buf_refill(struct tw686x_video_channel *vc,
drivers/media/pci/tw686x/tw686x-video.c
159
while (!list_empty(&vc->vidq_queued)) {
drivers/media/pci/tw686x/tw686x-video.c
160
u32 reg = pb ? VDMA_B_ADDR[vc->ch] : VDMA_P_ADDR[vc->ch];
drivers/media/pci/tw686x/tw686x-video.c
163
buf = list_first_entry(&vc->vidq_queued,
drivers/media/pci/tw686x/tw686x-video.c
168
reg_write(vc->dev, reg, phys);
drivers/media/pci/tw686x/tw686x-video.c
171
vc->curr_bufs[pb] = buf;
drivers/media/pci/tw686x/tw686x-video.c
174
vc->curr_bufs[pb] = NULL;
drivers/media/pci/tw686x/tw686x-video.c
224
static void tw686x_sg_buf_refill(struct tw686x_video_channel *vc,
drivers/media/pci/tw686x/tw686x-video.c
227
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
230
while (!list_empty(&vc->vidq_queued)) {
drivers/media/pci/tw686x/tw686x-video.c
233
buf = list_first_entry(&vc->vidq_queued,
drivers/media/pci/tw686x/tw686x-video.c
237
buf_len = (vc->width * vc->height * vc->format->depth) >> 3;
drivers/media/pci/tw686x/tw686x-video.c
238
if (tw686x_sg_desc_fill(vc->sg_descs[pb], buf, buf_len)) {
drivers/media/pci/tw686x/tw686x-video.c
241
vc->ch, pb ? "B" : "P");
drivers/media/pci/tw686x/tw686x-video.c
247
vc->curr_bufs[pb] = buf;
drivers/media/pci/tw686x/tw686x-video.c
251
vc->curr_bufs[pb] = NULL;
drivers/media/pci/tw686x/tw686x-video.c
254
static void tw686x_sg_dma_free(struct tw686x_video_channel *vc,
drivers/media/pci/tw686x/tw686x-video.c
257
struct tw686x_dma_desc *desc = &vc->dma_descs[pb];
drivers/media/pci/tw686x/tw686x-video.c
258
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
266
vc->sg_descs[pb] = NULL;
drivers/media/pci/tw686x/tw686x-video.c
269
static int tw686x_sg_dma_alloc(struct tw686x_video_channel *vc,
drivers/media/pci/tw686x/tw686x-video.c
272
struct tw686x_dma_desc *desc = &vc->dma_descs[pb];
drivers/media/pci/tw686x/tw686x-video.c
273
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
274
u32 reg = pb ? DMA_PAGE_TABLE1_ADDR[vc->ch] :
drivers/media/pci/tw686x/tw686x-video.c
275
DMA_PAGE_TABLE0_ADDR[vc->ch];
drivers/media/pci/tw686x/tw686x-video.c
284
vc->ch, pb ? "B" : "P");
drivers/media/pci/tw686x/tw686x-video.c
291
vc->ch * TW686X_SG_TABLE_SIZE;
drivers/media/pci/tw686x/tw686x-video.c
294
vc->sg_descs[pb] = virt;
drivers/media/pci/tw686x/tw686x-video.c
320
struct tw686x_video_channel *vc = &dev->video_channels[ch];
drivers/media/pci/tw686x/tw686x-video.c
323
vc->dma_descs[pb].size = sg_table_size;
drivers/media/pci/tw686x/tw686x-video.c
401
static void tw686x_set_framerate(struct tw686x_video_channel *vc,
drivers/media/pci/tw686x/tw686x-video.c
406
i = tw686x_fps_idx(fps, TW686X_MAX_FPS(vc->video_standard));
drivers/media/pci/tw686x/tw686x-video.c
407
reg_write(vc->dev, VIDEO_FIELD_CTRL[vc->ch], fps_map[i]);
drivers/media/pci/tw686x/tw686x-video.c
408
vc->fps = tw686x_real_fps(i, TW686X_MAX_FPS(vc->video_standard));
drivers/media/pci/tw686x/tw686x-video.c
425
struct tw686x_video_channel *vc = vb2_get_drv_priv(vq);
drivers/media/pci/tw686x/tw686x-video.c
428
(vc->width * vc->height * vc->format->depth) >> 3;
drivers/media/pci/tw686x/tw686x-video.c
450
struct tw686x_video_channel *vc = vb2_get_drv_priv(vb->vb2_queue);
drivers/media/pci/tw686x/tw686x-video.c
451
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
467
spin_lock_irqsave(&vc->qlock, flags);
drivers/media/pci/tw686x/tw686x-video.c
468
list_add_tail(&buf->list, &vc->vidq_queued);
drivers/media/pci/tw686x/tw686x-video.c
469
spin_unlock_irqrestore(&vc->qlock, flags);
drivers/media/pci/tw686x/tw686x-video.c
472
static void tw686x_clear_queue(struct tw686x_video_channel *vc,
drivers/media/pci/tw686x/tw686x-video.c
477
while (!list_empty(&vc->vidq_queued)) {
drivers/media/pci/tw686x/tw686x-video.c
480
buf = list_first_entry(&vc->vidq_queued,
drivers/media/pci/tw686x/tw686x-video.c
487
if (vc->curr_bufs[pb])
drivers/media/pci/tw686x/tw686x-video.c
488
vb2_buffer_done(&vc->curr_bufs[pb]->vb.vb2_buf, state);
drivers/media/pci/tw686x/tw686x-video.c
489
vc->curr_bufs[pb] = NULL;
drivers/media/pci/tw686x/tw686x-video.c
49
static void tw686x_buf_done(struct tw686x_video_channel *vc,
drivers/media/pci/tw686x/tw686x-video.c
495
struct tw686x_video_channel *vc = vb2_get_drv_priv(vq);
drivers/media/pci/tw686x/tw686x-video.c
496
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
510
spin_lock_irqsave(&vc->qlock, flags);
drivers/media/pci/tw686x/tw686x-video.c
514
(!vc->dma_descs[0].virt || !vc->dma_descs[1].virt)) {
drivers/media/pci/tw686x/tw686x-video.c
515
spin_unlock_irqrestore(&vc->qlock, flags);
drivers/media/pci/tw686x/tw686x-video.c
518
vc->num);
drivers/media/pci/tw686x/tw686x-video.c
52
struct tw686x_dma_desc *desc = &vc->dma_descs[pb];
drivers/media/pci/tw686x/tw686x-video.c
524
dev->dma_ops->buf_refill(vc, pb);
drivers/media/pci/tw686x/tw686x-video.c
525
spin_unlock_irqrestore(&vc->qlock, flags);
drivers/media/pci/tw686x/tw686x-video.c
527
vc->sequence = 0;
drivers/media/pci/tw686x/tw686x-video.c
528
vc->pb = 0;
drivers/media/pci/tw686x/tw686x-video.c
53
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
531
tw686x_enable_channel(dev, vc->ch);
drivers/media/pci/tw686x/tw686x-video.c
539
spin_lock_irqsave(&vc->qlock, flags);
drivers/media/pci/tw686x/tw686x-video.c
540
tw686x_clear_queue(vc, VB2_BUF_STATE_QUEUED);
drivers/media/pci/tw686x/tw686x-video.c
541
spin_unlock_irqrestore(&vc->qlock, flags);
drivers/media/pci/tw686x/tw686x-video.c
547
struct tw686x_video_channel *vc = vb2_get_drv_priv(vq);
drivers/media/pci/tw686x/tw686x-video.c
548
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
557
tw686x_disable_channel(dev, vc->ch);
drivers/media/pci/tw686x/tw686x-video.c
559
spin_lock_irqsave(&vc->qlock, flags);
drivers/media/pci/tw686x/tw686x-video.c
560
tw686x_clear_queue(vc, VB2_BUF_STATE_ERROR);
drivers/media/pci/tw686x/tw686x-video.c
561
spin_unlock_irqrestore(&vc->qlock, flags);
drivers/media/pci/tw686x/tw686x-video.c
566
struct tw686x_video_channel *vc = vb2_get_drv_priv(vb->vb2_queue);
drivers/media/pci/tw686x/tw686x-video.c
568
(vc->width * vc->height * vc->format->depth) >> 3;
drivers/media/pci/tw686x/tw686x-video.c
57
if (vc->curr_bufs[pb]) {
drivers/media/pci/tw686x/tw686x-video.c
58
vb = &vc->curr_bufs[pb]->vb;
drivers/media/pci/tw686x/tw686x-video.c
586
struct tw686x_video_channel *vc;
drivers/media/pci/tw686x/tw686x-video.c
590
vc = container_of(ctrl->handler, struct tw686x_video_channel,
drivers/media/pci/tw686x/tw686x-video.c
592
dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
593
ch = vc->ch;
drivers/media/pci/tw686x/tw686x-video.c
61
vb->sequence = vc->sequence++;
drivers/media/pci/tw686x/tw686x-video.c
624
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
625
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
627
f->fmt.pix.width = vc->width;
drivers/media/pci/tw686x/tw686x-video.c
628
f->fmt.pix.height = vc->height;
drivers/media/pci/tw686x/tw686x-video.c
630
f->fmt.pix.pixelformat = vc->format->fourcc;
drivers/media/pci/tw686x/tw686x-video.c
632
f->fmt.pix.bytesperline = (f->fmt.pix.width * vc->format->depth) / 8;
drivers/media/pci/tw686x/tw686x-video.c
640
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
641
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
642
unsigned int video_height = TW686X_VIDEO_HEIGHT(vc->video_standard);
drivers/media/pci/tw686x/tw686x-video.c
669
static int tw686x_set_format(struct tw686x_video_channel *vc,
drivers/media/pci/tw686x/tw686x-video.c
673
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
677
vc->format = format_by_fourcc(pixelformat);
drivers/media/pci/tw686x/tw686x-video.c
678
vc->width = width;
drivers/media/pci/tw686x/tw686x-video.c
679
vc->height = height;
drivers/media/pci/tw686x/tw686x-video.c
684
dev->dma_ops->free(vc, pb);
drivers/media/pci/tw686x/tw686x-video.c
687
err = dev->dma_ops->alloc(vc, pb);
drivers/media/pci/tw686x/tw686x-video.c
690
dev->dma_ops->free(vc, 0);
drivers/media/pci/tw686x/tw686x-video.c
696
val = reg_read(vc->dev, VDMA_CHANNEL_CONFIG[vc->ch]);
drivers/media/pci/tw686x/tw686x-video.c
698
if (vc->width <= TW686X_VIDEO_WIDTH / 2)
drivers/media/pci/tw686x/tw686x-video.c
703
if (vc->height <= TW686X_VIDEO_HEIGHT(vc->video_standard) / 2)
drivers/media/pci/tw686x/tw686x-video.c
71
vc->pb = !pb;
drivers/media/pci/tw686x/tw686x-video.c
715
0 : vc->ch * TW686X_MAX_SG_DESC_COUNT;
drivers/media/pci/tw686x/tw686x-video.c
722
val |= vc->format->mode << 20;
drivers/media/pci/tw686x/tw686x-video.c
723
reg_write(vc->dev, VDMA_CHANNEL_CONFIG[vc->ch], val);
drivers/media/pci/tw686x/tw686x-video.c
726
dma_width = (vc->width * 2) & 0x7ff;
drivers/media/pci/tw686x/tw686x-video.c
727
dma_height = vc->height / 2;
drivers/media/pci/tw686x/tw686x-video.c
728
dma_line_width = (vc->width * 2) & 0x7ff;
drivers/media/pci/tw686x/tw686x-video.c
730
reg_write(vc->dev, VDMA_WHP[vc->ch], val);
drivers/media/pci/tw686x/tw686x-video.c
737
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
742
if (vb2_is_busy(&vc->vidq))
drivers/media/pci/tw686x/tw686x-video.c
745
area = vc->width * vc->height;
drivers/media/pci/tw686x/tw686x-video.c
751
return tw686x_set_format(vc, f->fmt.pix.pixelformat,
drivers/media/pci/tw686x/tw686x-video.c
759
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
760
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
767
static int tw686x_set_standard(struct tw686x_video_channel *vc, v4l2_std_id id)
drivers/media/pci/tw686x/tw686x-video.c
77
static void tw686x_memcpy_dma_free(struct tw686x_video_channel *vc,
drivers/media/pci/tw686x/tw686x-video.c
788
vc->video_standard = id;
drivers/media/pci/tw686x/tw686x-video.c
789
reg_write(vc->dev, SDT[vc->ch], val);
drivers/media/pci/tw686x/tw686x-video.c
791
val = reg_read(vc->dev, VIDEO_CONTROL1);
drivers/media/pci/tw686x/tw686x-video.c
793
val &= ~(1 << (SYS_MODE_DMA_SHIFT + vc->ch));
drivers/media/pci/tw686x/tw686x-video.c
795
val |= (1 << (SYS_MODE_DMA_SHIFT + vc->ch));
drivers/media/pci/tw686x/tw686x-video.c
796
reg_write(vc->dev, VIDEO_CONTROL1, val);
drivers/media/pci/tw686x/tw686x-video.c
80
struct tw686x_dma_desc *desc = &vc->dma_descs[pb];
drivers/media/pci/tw686x/tw686x-video.c
803
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
807
if (vc->video_standard == id)
drivers/media/pci/tw686x/tw686x-video.c
81
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
810
if (vb2_is_busy(&vc->vidq))
drivers/media/pci/tw686x/tw686x-video.c
813
ret = tw686x_set_standard(vc, id);
drivers/media/pci/tw686x/tw686x-video.c
828
tw686x_set_framerate(vc, vc->fps);
drivers/media/pci/tw686x/tw686x-video.c
834
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
835
struct tw686x_dev *dev = vc->dev;
drivers/media/pci/tw686x/tw686x-video.c
839
if (vb2_is_streaming(&vc->vidq))
drivers/media/pci/tw686x/tw686x-video.c
843
old_std = reg_read(dev, SDT[vc->ch]);
drivers/media/pci/tw686x/tw686x-video.c
844
reg_write(dev, SDT[vc->ch], 0x7);
drivers/media/pci/tw686x/tw686x-video.c
845
reg_write(dev, SDT_EN[vc->ch], 0xff);
drivers/media/pci/tw686x/tw686x-video.c
850
detected_std = reg_read(dev, SDT[vc->ch]);
drivers/media/pci/tw686x/tw686x-video.c
855
reg_write(dev, SDT[vc->ch], old_std);
drivers/media/pci/tw686x/tw686x-video.c
892
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
894
*id = vc->video_standard;
drivers/media/pci/tw686x/tw686x-video.c
901
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
909
fsize->stepwise.max_height = TW686X_VIDEO_HEIGHT(vc->video_standard);
drivers/media/pci/tw686x/tw686x-video.c
918
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
919
int max_fps = TW686X_MAX_FPS(vc->video_standard);
drivers/media/pci/tw686x/tw686x-video.c
937
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
946
cp->timeperframe.denominator = vc->fps;
drivers/media/pci/tw686x/tw686x-video.c
953
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
959
if (vb2_is_busy(&vc->vidq))
drivers/media/pci/tw686x/tw686x-video.c
963
if (vc->fps != fps)
drivers/media/pci/tw686x/tw686x-video.c
964
tw686x_set_framerate(vc, fps);
drivers/media/pci/tw686x/tw686x-video.c
977
static void tw686x_set_input(struct tw686x_video_channel *vc, unsigned int i)
drivers/media/pci/tw686x/tw686x-video.c
981
vc->input = i;
drivers/media/pci/tw686x/tw686x-video.c
983
val = reg_read(vc->dev, VDMA_CHANNEL_CONFIG[vc->ch]);
drivers/media/pci/tw686x/tw686x-video.c
986
reg_write(vc->dev, VDMA_CHANNEL_CONFIG[vc->ch], val);
drivers/media/pci/tw686x/tw686x-video.c
991
struct tw686x_video_channel *vc = video_drvdata(file);
drivers/media/pci/tw686x/tw686x-video.c
995
if (i == vc->input)
drivers/media/pci/tw686x/tw686x.h
106
int (*alloc)(struct tw686x_video_channel *vc, unsigned int pb);
drivers/media/pci/tw686x/tw686x.h
107
void (*free)(struct tw686x_video_channel *vc, unsigned int pb);
drivers/media/pci/tw686x/tw686x.h
108
void (*buf_refill)(struct tw686x_video_channel *vc, unsigned int pb);
drivers/media/platform/broadcom/bcm2835-unicam.c
1095
ret = unicam_get_image_vc_dt(unicam, state, &vc, &dt);
drivers/media/platform/broadcom/bcm2835-unicam.c
1101
vc = 0;
drivers/media/platform/broadcom/bcm2835-unicam.c
1105
unicam_cfg_image_id(unicam, vc, dt);
drivers/media/platform/broadcom/bcm2835-unicam.c
865
static void unicam_cfg_image_id(struct unicam_device *unicam, u8 vc, u8 dt)
drivers/media/platform/broadcom/bcm2835-unicam.c
869
unicam_reg_write(unicam, UNICAM_IDI0, (vc << 6) | dt);
drivers/media/platform/broadcom/bcm2835-unicam.c
889
u8 *vc, u8 *dt)
drivers/media/platform/broadcom/bcm2835-unicam.c
914
*vc = fde->bus.csi2.vc;
drivers/media/platform/broadcom/bcm2835-unicam.c
930
u8 vc, dt;
drivers/media/platform/cadence/cdns-csi2rx.c
487
CSI2RX_STREAM_DATA_CFG_VC_SELECT(fd.entry[i].bus.csi2.vc);
drivers/media/platform/microchip/microchip-csi2dc.c
199
u32 vc;
drivers/media/platform/microchip/microchip-csi2dc.c
358
dev_dbg(csi2dc->dev, "subdev sending on channel %d\n", csi2dc->vc);
drivers/media/platform/microchip/microchip-csi2dc.c
393
vp |= CSI2DC_VPCFG_VC(csi2dc->vc) & CSI2DC_VPCFG_VC_MASK;
drivers/media/platform/nxp/imx-mipi-csis.c
1204
entry->bus.csi2.vc = 0;
drivers/media/platform/qcom/camss/camss-csid-340.c
117
val |= FIELD_PREP(CSID_CFG0_VC_MASK, vc);
drivers/media/platform/qcom/camss/camss-csid-340.c
125
format->decode_format, port, vc);
drivers/media/platform/qcom/camss/camss-csid-340.c
86
static void __csid_configure_stream(struct csid_device *csid, u8 enable, u8 port, u8 vc)
drivers/media/platform/qcom/camss/camss-csid-4-1.c
110
val = readl_relaxed(csid->base + CAMSS_CSID_CID_LUT_VC_n(vc));
drivers/media/platform/qcom/camss/camss-csid-4-1.c
113
writel_relaxed(val, csid->base + CAMSS_CSID_CID_LUT_VC_n(vc));
drivers/media/platform/qcom/camss/camss-csid-4-1.c
55
u8 vc = 0; /* Virtual Channel 0 */
drivers/media/platform/qcom/camss/camss-csid-4-1.c
56
u8 cid = vc * 4; /* id of Virtual Channel and Data Type set */
drivers/media/platform/qcom/camss/camss-csid-4-7.c
112
val = readl_relaxed(csid->base + CAMSS_CSID_CID_LUT_VC_n(vc));
drivers/media/platform/qcom/camss/camss-csid-4-7.c
115
writel_relaxed(val, csid->base + CAMSS_CSID_CID_LUT_VC_n(vc));
drivers/media/platform/qcom/camss/camss-csid-4-7.c
56
u8 vc = 0; /* Virtual Channel 0 */
drivers/media/platform/qcom/camss/camss-csid-4-7.c
57
u8 cid = vc * 4; /* id of Virtual Channel and Data Type set */
drivers/media/platform/qcom/camss/camss-csid-680.c
187
struct csid_phy_config *phy, int vc)
drivers/media/platform/qcom/camss/camss-csid-680.c
208
if (vc > 3)
drivers/media/platform/qcom/camss/camss-csid-680.c
234
static void __csid_configure_rdi_stream(struct csid_device *csid, u8 enable, u8 port, u8 vc)
drivers/media/platform/qcom/camss/camss-csid-680.c
267
val |= vc << RDI_CFG0_VIRTUAL_CHANNEL;
drivers/media/platform/qcom/camss/camss-csid-gen2.c
175
struct csid_phy_config *phy, int vc)
drivers/media/platform/qcom/camss/camss-csid-gen2.c
189
if (vc > 3)
drivers/media/platform/qcom/camss/camss-csid-gen2.c
206
static void __csid_configure_testgen(struct csid_device *csid, u8 enable, u8 port, u8 vc)
drivers/media/platform/qcom/camss/camss-csid-gen2.c
220
val = vc << TPG_VC_CFG0_VC_NUM;
drivers/media/platform/qcom/camss/camss-csid-gen2.c
256
static void __csid_configure_rdi_stream(struct csid_device *csid, u8 enable, u8 port, u8 vc)
drivers/media/platform/qcom/camss/camss-csid-gen2.c
285
val |= vc << RDI_CFG0_VIRTUAL_CHANNEL;
drivers/media/platform/qcom/camss/camss-csid-gen3.c
111
struct csid_phy_config *phy, int vc)
drivers/media/platform/qcom/camss/camss-csid-gen3.c
132
if (vc > 3)
drivers/media/platform/qcom/camss/camss-csid-gen3.c
160
static void __csid_configure_rdi_stream(struct csid_device *csid, u8 enable, u8 port, u8 vc)
drivers/media/platform/qcom/camss/camss-csid-gen3.c
191
val |= vc << RDI_CFG0_VC;
drivers/media/platform/qcom/camss/camss-ispif.c
772
enum ispif_intf intf, u8 vfe, u8 vc)
drivers/media/platform/qcom/camss/camss-ispif.c
778
*val &= ~(0x3 << (vc * 2 + 8));
drivers/media/platform/qcom/camss/camss-ispif.c
779
*val |= (cmd << (vc * 2 + 8));
drivers/media/platform/qcom/camss/camss-ispif.c
785
*val &= ~(0x3 << (vc * 2 + intf * 8));
drivers/media/platform/qcom/camss/camss-ispif.c
786
*val |= (cmd << (vc * 2 + intf * 8));
drivers/media/platform/qcom/camss/camss-ispif.c
810
u8 vc = 0; /* Virtual Channel 0 */
drivers/media/platform/qcom/camss/camss-ispif.c
811
u8 cid = vc * 4; /* id of Virtual Channel and Data Type set */
drivers/media/platform/qcom/camss/camss-ispif.c
839
intf, vfe, vc);
drivers/media/platform/qcom/camss/camss-ispif.c
843
intf, vfe, vc);
drivers/media/platform/qcom/camss/camss-tpg-gen1.c
109
u8 vc, dt, last_vc = 0;
drivers/media/platform/qcom/camss/camss-tpg-gen1.c
112
for (vc = 0; vc <= MSM_TPG_ACTIVE_VC; vc++) {
drivers/media/platform/qcom/camss/camss-tpg-gen1.c
113
last_vc = vc;
drivers/media/platform/qcom/camss/camss-tpg-gen1.c
125
writel(val, tpg->base + TPG_VC_n_CFG0(vc));
drivers/media/platform/qcom/camss/camss-tpg-gen1.c
127
writel(TPG_LFSR_SEED_DEFAULT, tpg->base + TPG_VC_n_LSFR_SEED(vc));
drivers/media/platform/qcom/camss/camss-tpg-gen1.c
131
writel(val, tpg->base + TPG_VC_n_HBI_CFG(vc));
drivers/media/platform/qcom/camss/camss-tpg-gen1.c
134
writel(val, tpg->base + TPG_VC_n_VBI_CFG(vc));
drivers/media/platform/qcom/camss/camss-tpg-gen1.c
136
writel(TPG_COLOR_BARS_CFG_STANDARD, tpg->base + TPG_VC_n_COLOR_BARS_CFG(vc));
drivers/media/platform/qcom/camss/camss-tpg-gen1.c
144
writel(val, tpg->base + TPG_VC_m_DT_n_CFG_0(vc, dt));
drivers/media/platform/qcom/camss/camss-tpg-gen1.c
147
writel(val, tpg->base + TPG_VC_m_DT_n_CFG_1(vc, dt));
drivers/media/platform/qcom/camss/camss-tpg-gen1.c
162
writel(val, tpg->base + TPG_VC_m_DT_n_CFG_2(vc, dt));
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
781
static int cfe_get_vc_dt_fallback(struct cfe_device *cfe, u8 *vc, u8 *dt)
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
797
*vc = 0;
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
803
static int cfe_get_vc_dt(struct cfe_device *cfe, unsigned int channel, u8 *vc,
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
823
return cfe_get_vc_dt_fallback(cfe, vc, dt);
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
845
*vc = remote_desc.entry[i].bus.csi2.vc;
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
870
u8 vc, dt;
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
875
ret = cfe_get_vc_dt(cfe, cfe->fe_csi2_channel, &vc, &dt);
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
898
true, false, width, height, vc, dt);
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
905
u8 vc, dt;
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
907
ret = cfe_get_vc_dt(cfe, node->id, &vc, &dt);
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c
951
width, height, vc, dt);
drivers/media/platform/raspberrypi/rp1-cfe/csi2.c
198
for (unsigned int vc = 0; vc < DISCARDS_TABLE_NUM_VCS; ++vc) {
drivers/media/platform/raspberrypi/rp1-cfe/csi2.c
199
seq_printf(s, "%u %10u %10u %10u %10u\n", vc,
drivers/media/platform/raspberrypi/rp1-cfe/csi2.c
200
discards_table[vc][DISCARDS_TABLE_OVERFLOW],
drivers/media/platform/raspberrypi/rp1-cfe/csi2.c
201
discards_table[vc][DISCARDS_TABLE_LENGTH_LIMIT],
drivers/media/platform/raspberrypi/rp1-cfe/csi2.c
202
discards_table[vc][DISCARDS_TABLE_UNMATCHED],
drivers/media/platform/raspberrypi/rp1-cfe/csi2.c
203
discards_table[vc][DISCARDS_TABLE_INACTIVE]);
drivers/media/platform/raspberrypi/rp1-cfe/csi2.c
238
u8 dt, vc;
drivers/media/platform/raspberrypi/rp1-cfe/csi2.c
250
vc = (v & CSI2_DISCARDS_VC_MASK) >> CSI2_DISCARDS_VC_SHIFT;
drivers/media/platform/raspberrypi/rp1-cfe/csi2.c
252
csi2->discards_table[vc][i] += amount;
drivers/media/platform/raspberrypi/rp1-cfe/csi2.c
316
u8 vc, u8 dt)
drivers/media/platform/raspberrypi/rp1-cfe/csi2.c
345
set_field(&ctrl, vc, CSI2_CH_CTRL_VC_MASK);
drivers/media/platform/raspberrypi/rp1-cfe/csi2.h
82
unsigned int height, u8 vc, u8 dt);
drivers/media/platform/renesas/rcar-csi2.c
2294
int channel, vc;
drivers/media/platform/renesas/rcar-csi2.c
2318
vc = local->index - 1;
drivers/media/platform/renesas/rcar-csi2.c
2321
vc, id, channel);
drivers/media/platform/renesas/rcar-csi2.c
2323
vc = -1;
drivers/media/platform/renesas/rcar-csi2.c
2326
priv->channel_vc[channel] = vc;
drivers/media/platform/renesas/rcar-isp/csisp.c
221
unsigned int vc;
drivers/media/platform/renesas/rcar-isp/csisp.c
249
for (vc = 0; vc < 4; vc++) {
drivers/media/platform/renesas/rcar-isp/csisp.c
250
u8 ch = vc + 4;
drivers/media/platform/renesas/rcar-isp/csisp.c
253
risp_write_cs(isp, ISPCS_FILTER_ID_CH_REG(ch), BIT(vc));
drivers/media/platform/renesas/rcar-isp/csisp.c
31
#define ISPPROCMODE_DT_PROC_MODE_VCn(vc, pm) (((pm) & 0x3f) << (8 * (vc)))
drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c
465
return fd.entry[0].bus.csi2.vc;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1009
struct fimc_vid_cap *vc = &fimc->vid_cap;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1010
struct fimc_ctx *ctx = vc->ctx;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1039
if (!vc->user_subdev_api) {
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1103
struct fimc_vid_cap *vc = &fimc->vid_cap;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1104
struct v4l2_subdev *sd = &vc->subdev;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1105
struct fimc_pipeline *p = to_fimc_pipeline(vc->ve.pipe);
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1132
if (sd == &vc->subdev) {
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1133
const struct fimc_frame *ff = &vc->ctx->s_frame;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1159
const struct fimc_frame *frame = &vc->ctx->d_frame;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1180
struct fimc_vid_cap *vc = &fimc->vid_cap;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1188
ret = video_device_pipeline_start(&vc->ve.vdev, &vc->ve.pipe->mp);
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1192
sd = __fimc_md_get_subdev(vc->ve.pipe, IDX_SENSOR);
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1204
vc->source_config = *si;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1206
if (vc->input == GRP_ID_FIMC_IS)
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1207
vc->source_config.fimc_bus_type = FIMC_BUS_TYPE_ISP_WRITEBACK;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1209
if (vc->user_subdev_api) {
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1217
vc->streaming = true;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1222
video_device_pipeline_stop(&vc->ve.vdev);
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1230
struct fimc_vid_cap *vc = &fimc->vid_cap;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1237
if (vc->streaming) {
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1238
video_device_pipeline_stop(&vc->ve.vdev);
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1239
vc->streaming = false;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1369
struct fimc_vid_cap *vc = &fimc->vid_cap;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1387
if (vc->input != 0)
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1390
vc->input = sd->grp_id;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1392
if (vc->user_subdev_api)
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1396
sensor = fimc_find_remote_sensor(&vc->subdev.entity);
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1400
return v4l2_ctrl_add_handler(&vc->ctx->ctrls.handler,
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1517
struct fimc_vid_cap *vc = &fimc->vid_cap;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1518
struct fimc_ctx *ctx = vc->ctx;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1525
if (fmt->pad == FIMC_SD_PAD_SOURCE && vb2_is_busy(&vc->vbq))
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1560
vc->wb_fmt = *mf;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
1562
vc->ci_fmt = *mf;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
467
struct fimc_vid_cap *vc = &fimc->vid_cap;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
468
struct exynos_video_entity *ve = &vc->ve;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
516
struct fimc_vid_cap *vc = &fimc->vid_cap;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
524
if (close && vc->streaming) {
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
525
video_device_pipeline_stop(&vc->ve.vdev);
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
526
vc->streaming = false;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
533
fimc_pipeline_call(&vc->ve, close);
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
536
fimc_md_graph_lock(&vc->ve);
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
537
vc->ve.vdev.entity.use_count--;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
538
fimc_md_graph_unlock(&vc->ve);
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
908
struct fimc_vid_cap *vc = &fimc->vid_cap;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
909
struct exynos_video_entity *ve = &vc->ve;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
910
struct fimc_ctx *ctx = vc->ctx;
drivers/media/platform/samsung/exynos4-is/fimc-capture.c
942
if (!vc->user_subdev_api) {
drivers/media/platform/samsung/exynos4-is/fimc-reg.c
601
const struct fimc_vid_cap *vc = &fimc->vid_cap;
drivers/media/platform/samsung/exynos4-is/fimc-reg.c
602
const struct fimc_frame *f = &vc->ctx->s_frame;
drivers/media/platform/samsung/exynos4-is/fimc-reg.c
615
if (vc->ci_fmt.code == pix_desc[i].pixelcode) {
drivers/media/platform/samsung/exynos4-is/fimc-reg.c
623
v4l2_err(&vc->ve.vdev,
drivers/media/platform/samsung/exynos4-is/fimc-reg.c
625
vc->ci_fmt.code);
drivers/media/platform/st/stm32/stm32-csi.c
596
struct v4l2_subdev_state *state, u32 vc)
drivers/media/platform/st/stm32/stm32-csi.c
611
dev_dbg(csidev->dev, "VC%d: enable AllDT mode\n", vc);
drivers/media/platform/st/stm32/stm32-csi.c
617
vc, fmt->datatype, fmt->input_fmt);
drivers/media/platform/st/stm32/stm32-csi.c
619
writel_relaxed(cfgr1, csidev->base + STM32_CSI_VCXCFGR1(vc));
drivers/media/platform/st/stm32/stm32-csi.c
622
writel_relaxed(STM32_CSI_CR_VCXSTART(vc) | STM32_CSI_CR_CSIEN,
drivers/media/platform/st/stm32/stm32-csi.c
627
status & STM32_CSI_SR0_VCXSTATEF(vc),
drivers/media/platform/st/stm32/stm32-csi.c
630
dev_err(csidev->dev, "failed to start VC(%d)\n", vc);
drivers/media/platform/st/stm32/stm32-csi.c
637
static int stm32_csi_stop_vc(struct stm32_csi_dev *csidev, u32 vc)
drivers/media/platform/st/stm32/stm32-csi.c
643
writel_relaxed(STM32_CSI_CR_VCXSTOP(vc) | STM32_CSI_CR_CSIEN,
drivers/media/platform/st/stm32/stm32-csi.c
648
!(status & STM32_CSI_SR0_VCXSTATEF(vc)),
drivers/media/platform/st/stm32/stm32-csi.c
651
dev_err(csidev->dev, "failed to stop VC(%d)\n", vc);
drivers/media/platform/st/stm32/stm32-csi.c
656
writel_relaxed(0, csidev->base + STM32_CSI_VCXCFGR1(vc));
drivers/media/platform/st/stm32/stm32-csi.c
657
writel_relaxed(0, csidev->base + STM32_CSI_VCXCFGR2(vc));
drivers/media/platform/sunxi/sun6i-mipi-csi2/sun6i_mipi_csi2_reg.h
22
#define SUN6I_MIPI_CSI2_VCDT_RX_CH_VC(ch, vc) (((vc) & GENMASK(1, 0)) << \
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2_reg.h
141
#define SUN8I_A83T_MIPI_CSI2_VCDT0_CH_VC(ch, vc) (((vc) & GENMASK(1, 0)) << \
drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/sun8i_a83t_mipi_csi2_reg.h
146
#define SUN8I_A83T_MIPI_CSI2_VCDT1_CH_VC(ch, vc) (((vc) & GENMASK(1, 0)) << \
drivers/media/platform/ti/cal/cal.c
315
cal_set_field(&val, ctx->vc, CAL_CSI2_CTX_VC_MASK);
drivers/media/platform/ti/cal/cal.c
481
ctx->vc = 0;
drivers/media/platform/ti/cal/cal.c
485
entry.stream, entry.length, entry.bus.csi2.vc,
drivers/media/platform/ti/cal/cal.c
488
ctx->vc = entry.bus.csi2.vc;
drivers/media/platform/ti/cal/cal.c
526
if (phy->vc_enable_count[ctx->vc]++ == 0) {
drivers/media/platform/ti/cal/cal.c
527
phy->vc_frame_number[ctx->vc] = 0;
drivers/media/platform/ti/cal/cal.c
528
phy->vc_sequence[ctx->vc] = 0;
drivers/media/platform/ti/cal/cal.c
555
WARN_ON(phy->vc_enable_count[ctx->vc] == 0);
drivers/media/platform/ti/cal/cal.c
558
phy->vc_enable_count[ctx->vc]--;
drivers/media/platform/ti/cal/cal.c
607
u8 vc = ctx->vc;
drivers/media/platform/ti/cal/cal.c
613
if (phy->vc_frame_number[vc] != frame_num) {
drivers/media/platform/ti/cal/cal.c
614
prev_frame_num = phy->vc_frame_number[vc];
drivers/media/platform/ti/cal/cal.c
617
phy->vc_sequence[vc] += 1;
drivers/media/platform/ti/cal/cal.c
619
phy->vc_sequence[vc] += frame_num - prev_frame_num;
drivers/media/platform/ti/cal/cal.c
621
phy->vc_frame_number[vc] = frame_num;
drivers/media/platform/ti/cal/cal.c
683
buf->vb.sequence = ctx->phy->vc_sequence[ctx->vc];
drivers/media/platform/ti/cal/cal.h
248
u8 vc;
drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
116
u32 vc;
drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
606
reg |= FIELD_PREP(SHIM_DMACNTX_VC, ctx->vc);
drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
926
ctx->vc = 0;
drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
940
curr_ctx->vc = 0;
drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c
948
curr_ctx->vc = fd.entry[j].bus.csi2.vc;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
504
struct v4l2_query_ext_ctrl *vc)
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
511
if (vc->id & V4L2_CTRL_FLAG_NEXT_CTRL) {
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
513
hdw, (vc->id & ~V4L2_CTRL_FLAG_NEXT_CTRL));
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
515
vc->id = pvr2_ctrl_get_v4lid(cptr);
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
517
cptr = pvr2_hdw_get_ctrl_v4l(hdw, vc->id);
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
522
vc->id);
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
528
vc->id, pvr2_ctrl_get_name(cptr),
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
530
strscpy(vc->name, pvr2_ctrl_get_desc(cptr), sizeof(vc->name));
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
531
vc->flags = pvr2_ctrl_get_v4lflags(cptr);
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
533
vc->default_value = val;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
534
vc->nr_of_dims = 0;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
535
vc->elems = 1;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
536
vc->elem_size = 4;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
539
vc->type = V4L2_CTRL_TYPE_MENU;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
540
vc->minimum = 0;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
541
vc->maximum = pvr2_ctrl_get_cnt(cptr) - 1;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
542
vc->step = 1;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
545
vc->type = V4L2_CTRL_TYPE_BOOLEAN;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
546
vc->minimum = 0;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
547
vc->maximum = 1;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
548
vc->step = 1;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
551
vc->type = V4L2_CTRL_TYPE_INTEGER;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
552
vc->minimum = pvr2_ctrl_get_min(cptr);
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
553
vc->maximum = pvr2_ctrl_get_max(cptr);
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
554
vc->step = 1;
drivers/media/usb/pvrusb2/pvrusb2-v4l2.c
559
vc->id, pvr2_ctrl_get_name(cptr));
drivers/media/usb/s2255/s2255drv.c
1000
vc->req_image_size = get_transfer_size(mode);
drivers/media/usb/s2255/s2255drv.c
1001
dprintk(dev, 1, "%s: reqsize %ld\n", __func__, vc->req_image_size);
drivers/media/usb/s2255/s2255drv.c
1007
buffer[3 + i] = cpu_to_le32(((u32 *)&vc->mode)[i]);
drivers/media/usb/s2255/s2255drv.c
1008
vc->setmode_ready = 0;
drivers/media/usb/s2255/s2255drv.c
1014
wait_event_timeout(vc->wait_setmode,
drivers/media/usb/s2255/s2255drv.c
1015
(vc->setmode_ready != 0),
drivers/media/usb/s2255/s2255drv.c
1017
if (vc->setmode_ready != 1) {
drivers/media/usb/s2255/s2255drv.c
1023
vc->mode.restart = 0;
drivers/media/usb/s2255/s2255drv.c
1024
dprintk(dev, 1, "%s chn %d, result: %d\n", __func__, vc->idx, res);
drivers/media/usb/s2255/s2255drv.c
1029
static int s2255_cmd_status(struct s2255_vc *vc, u32 *pstatus)
drivers/media/usb/s2255/s2255drv.c
1033
struct s2255_dev *dev = to_s2255_dev(vc->vdev.v4l2_dev);
drivers/media/usb/s2255/s2255drv.c
1037
chn_rev = G_chnmap[vc->idx];
drivers/media/usb/s2255/s2255drv.c
1038
dprintk(dev, 4, "%s chan %d\n", __func__, vc->idx);
drivers/media/usb/s2255/s2255drv.c
1044
vc->vidstatus_ready = 0;
drivers/media/usb/s2255/s2255drv.c
1046
wait_event_timeout(vc->wait_vidstatus,
drivers/media/usb/s2255/s2255drv.c
1047
(vc->vidstatus_ready != 0),
drivers/media/usb/s2255/s2255drv.c
1049
if (vc->vidstatus_ready != 1) {
drivers/media/usb/s2255/s2255drv.c
1053
*pstatus = vc->vidstatus;
drivers/media/usb/s2255/s2255drv.c
1061
struct s2255_vc *vc = vb2_get_drv_priv(vq);
drivers/media/usb/s2255/s2255drv.c
1064
vc->last_frame = -1;
drivers/media/usb/s2255/s2255drv.c
1065
vc->bad_payload = 0;
drivers/media/usb/s2255/s2255drv.c
1066
vc->cur_frame = 0;
drivers/media/usb/s2255/s2255drv.c
1067
vc->frame_count = 0;
drivers/media/usb/s2255/s2255drv.c
1069
vc->buffer.frame[j].ulState = S2255_READ_IDLE;
drivers/media/usb/s2255/s2255drv.c
1070
vc->buffer.frame[j].cur_size = 0;
drivers/media/usb/s2255/s2255drv.c
1072
return s2255_start_acquire(vc);
drivers/media/usb/s2255/s2255drv.c
1078
struct s2255_vc *vc = vb2_get_drv_priv(vq);
drivers/media/usb/s2255/s2255drv.c
1081
(void) s2255_stop_acquire(vc);
drivers/media/usb/s2255/s2255drv.c
1082
spin_lock_irqsave(&vc->qlock, flags);
drivers/media/usb/s2255/s2255drv.c
1083
list_for_each_entry_safe(buf, node, &vc->buf_list, list) {
drivers/media/usb/s2255/s2255drv.c
1086
dprintk(vc->dev, 2, "[%p/%d] done\n",
drivers/media/usb/s2255/s2255drv.c
1089
spin_unlock_irqrestore(&vc->qlock, flags);
drivers/media/usb/s2255/s2255drv.c
1094
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
1096
struct vb2_queue *q = &vc->vb_vidq;
drivers/media/usb/s2255/s2255drv.c
1105
mode = vc->mode;
drivers/media/usb/s2255/s2255drv.c
1107
dprintk(vc->dev, 4, "%s 60 Hz\n", __func__);
drivers/media/usb/s2255/s2255drv.c
1113
vc->width = LINE_SZ_4CIFS_NTSC;
drivers/media/usb/s2255/s2255drv.c
1114
vc->height = NUM_LINES_4CIFS_NTSC * 2;
drivers/media/usb/s2255/s2255drv.c
1117
dprintk(vc->dev, 4, "%s 50 Hz\n", __func__);
drivers/media/usb/s2255/s2255drv.c
1122
vc->width = LINE_SZ_4CIFS_PAL;
drivers/media/usb/s2255/s2255drv.c
1123
vc->height = NUM_LINES_4CIFS_PAL * 2;
drivers/media/usb/s2255/s2255drv.c
1127
vc->std = i;
drivers/media/usb/s2255/s2255drv.c
1129
s2255_set_mode(vc, &mode);
drivers/media/usb/s2255/s2255drv.c
1135
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
1137
*i = vc->std;
drivers/media/usb/s2255/s2255drv.c
1151
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
1152
struct s2255_dev *dev = vc->dev;
drivers/media/usb/s2255/s2255drv.c
1162
rc = s2255_cmd_status(vc, &status);
drivers/media/usb/s2255/s2255drv.c
1175
strscpy(inp->name, (vc->idx < 2) ? "Composite" : "S-Video",
drivers/media/usb/s2255/s2255drv.c
1196
struct s2255_vc *vc =
drivers/media/usb/s2255/s2255drv.c
1199
mode = vc->mode;
drivers/media/usb/s2255/s2255drv.c
1219
vc->jpegqual = ctrl->val;
drivers/media/usb/s2255/s2255drv.c
1229
s2255_set_mode(vc, &mode);
drivers/media/usb/s2255/s2255drv.c
1236
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
1239
jc->quality = vc->jpegqual;
drivers/media/usb/s2255/s2255drv.c
1240
dprintk(vc->dev, 2, "%s: quality %d\n", __func__, jc->quality);
drivers/media/usb/s2255/s2255drv.c
1247
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
1251
v4l2_ctrl_s_ctrl(vc->jpegqual_ctrl, jc->quality);
drivers/media/usb/s2255/s2255drv.c
1252
dprintk(vc->dev, 2, "%s: quality %d\n", __func__, jc->quality);
drivers/media/usb/s2255/s2255drv.c
1260
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
1265
sp->parm.capture.capturemode = vc->cap_parm.capturemode;
drivers/media/usb/s2255/s2255drv.c
1267
def_num = (vc->mode.format == FORMAT_NTSC) ? 1001 : 1000;
drivers/media/usb/s2255/s2255drv.c
1268
def_dem = (vc->mode.format == FORMAT_NTSC) ? 30000 : 25000;
drivers/media/usb/s2255/s2255drv.c
1270
switch (vc->mode.fdec) {
drivers/media/usb/s2255/s2255drv.c
1285
dprintk(vc->dev, 4, "%s capture mode, %d timeperframe %d/%d\n",
drivers/media/usb/s2255/s2255drv.c
1296
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
1302
mode = vc->mode;
drivers/media/usb/s2255/s2255drv.c
1304
if ((vc->cap_parm.capturemode != sp->parm.capture.capturemode)
drivers/media/usb/s2255/s2255drv.c
1305
&& vb2_is_streaming(&vc->vb_vidq))
drivers/media/usb/s2255/s2255drv.c
1326
s2255_set_mode(vc, &mode);
drivers/media/usb/s2255/s2255drv.c
1327
dprintk(vc->dev, 4, "%s capture mode, %d timeperframe %d/%d, fdec %d\n",
drivers/media/usb/s2255/s2255drv.c
1350
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
1351
int is_ntsc = vc->std & V4L2_STD_525_60;
drivers/media/usb/s2255/s2255drv.c
1368
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
1371
int is_ntsc = vc->std & V4L2_STD_525_60;
drivers/media/usb/s2255/s2255drv.c
1394
dprintk(vc->dev, 4, "%s discrete %d/%d\n", __func__,
drivers/media/usb/s2255/s2255drv.c
1402
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
1403
struct s2255_dev *dev = vc->dev;
drivers/media/usb/s2255/s2255drv.c
1473
if (!vc->configured) {
drivers/media/usb/s2255/s2255drv.c
1475
vc->fmt = &formats[0];
drivers/media/usb/s2255/s2255drv.c
1476
s2255_set_mode(vc, &vc->mode);
drivers/media/usb/s2255/s2255drv.c
1477
vc->configured = 1;
drivers/media/usb/s2255/s2255drv.c
1547
struct s2255_vc *vc =
drivers/media/usb/s2255/s2255drv.c
1553
v4l2_ctrl_handler_free(&vc->hdl);
drivers/media/usb/s2255/s2255drv.c
1587
struct s2255_vc *vc;
drivers/media/usb/s2255/s2255drv.c
1596
vc = &dev->vc[i];
drivers/media/usb/s2255/s2255drv.c
1597
INIT_LIST_HEAD(&vc->buf_list);
drivers/media/usb/s2255/s2255drv.c
1599
v4l2_ctrl_handler_init(&vc->hdl, 6);
drivers/media/usb/s2255/s2255drv.c
1600
v4l2_ctrl_new_std(&vc->hdl, &s2255_ctrl_ops,
drivers/media/usb/s2255/s2255drv.c
1602
v4l2_ctrl_new_std(&vc->hdl, &s2255_ctrl_ops,
drivers/media/usb/s2255/s2255drv.c
1604
v4l2_ctrl_new_std(&vc->hdl, &s2255_ctrl_ops,
drivers/media/usb/s2255/s2255drv.c
1606
v4l2_ctrl_new_std(&vc->hdl, &s2255_ctrl_ops,
drivers/media/usb/s2255/s2255drv.c
1608
vc->jpegqual_ctrl = v4l2_ctrl_new_std(&vc->hdl,
drivers/media/usb/s2255/s2255drv.c
1613
(dev->pid != 0x2257 || vc->idx <= 1))
drivers/media/usb/s2255/s2255drv.c
1614
v4l2_ctrl_new_custom(&vc->hdl, &color_filter_ctrl,
drivers/media/usb/s2255/s2255drv.c
1616
if (vc->hdl.error) {
drivers/media/usb/s2255/s2255drv.c
1617
ret = vc->hdl.error;
drivers/media/usb/s2255/s2255drv.c
1618
v4l2_ctrl_handler_free(&vc->hdl);
drivers/media/usb/s2255/s2255drv.c
1622
q = &vc->vb_vidq;
drivers/media/usb/s2255/s2255drv.c
1625
q->drv_priv = vc;
drivers/media/usb/s2255/s2255drv.c
1626
q->lock = &vc->vb_lock;
drivers/media/usb/s2255/s2255drv.c
1638
vc->vdev = template;
drivers/media/usb/s2255/s2255drv.c
1639
vc->vdev.queue = q;
drivers/media/usb/s2255/s2255drv.c
1640
vc->vdev.ctrl_handler = &vc->hdl;
drivers/media/usb/s2255/s2255drv.c
1641
vc->vdev.lock = &dev->lock;
drivers/media/usb/s2255/s2255drv.c
1642
vc->vdev.v4l2_dev = &dev->v4l2_dev;
drivers/media/usb/s2255/s2255drv.c
1643
vc->vdev.device_caps = V4L2_CAP_VIDEO_CAPTURE |
drivers/media/usb/s2255/s2255drv.c
1645
video_set_drvdata(&vc->vdev, vc);
drivers/media/usb/s2255/s2255drv.c
1647
ret = video_register_device(&vc->vdev,
drivers/media/usb/s2255/s2255drv.c
1651
ret = video_register_device(&vc->vdev,
drivers/media/usb/s2255/s2255drv.c
1662
video_device_node_name(&vc->vdev));
drivers/media/usb/s2255/s2255drv.c
1699
struct s2255_vc *vc;
drivers/media/usb/s2255/s2255drv.c
1701
vc = &dev->vc[dev->cc];
drivers/media/usb/s2255/s2255drv.c
1702
idx = vc->cur_frame;
drivers/media/usb/s2255/s2255drv.c
1703
frm = &vc->buffer.frame[idx];
drivers/media/usb/s2255/s2255drv.c
1727
vc = &dev->vc[dev->cc];
drivers/media/usb/s2255/s2255drv.c
1729
if (payload > vc->req_image_size) {
drivers/media/usb/s2255/s2255drv.c
1730
vc->bad_payload++;
drivers/media/usb/s2255/s2255drv.c
1734
vc->pkt_size = payload;
drivers/media/usb/s2255/s2255drv.c
1735
vc->jpg_size = le32_to_cpu(pdword[4]);
drivers/media/usb/s2255/s2255drv.c
1746
vc = &dev->vc[cc];
drivers/media/usb/s2255/s2255drv.c
1751
vc->setmode_ready = 1;
drivers/media/usb/s2255/s2255drv.c
1752
wake_up(&vc->wait_setmode);
drivers/media/usb/s2255/s2255drv.c
1766
vc->vidstatus = le32_to_cpu(pdword[3]);
drivers/media/usb/s2255/s2255drv.c
1767
vc->vidstatus_ready = 1;
drivers/media/usb/s2255/s2255drv.c
1768
wake_up(&vc->wait_vidstatus);
drivers/media/usb/s2255/s2255drv.c
1787
vc = &dev->vc[dev->cc];
drivers/media/usb/s2255/s2255drv.c
1788
idx = vc->cur_frame;
drivers/media/usb/s2255/s2255drv.c
1789
frm = &vc->buffer.frame[idx];
drivers/media/usb/s2255/s2255drv.c
1791
if (!vb2_is_streaming(&vc->vb_vidq)) {
drivers/media/usb/s2255/s2255drv.c
1816
size = vc->pkt_size - PREFIX_SIZE;
drivers/media/usb/s2255/s2255drv.c
1819
if ((copy_size + frm->cur_size) < vc->req_image_size)
drivers/media/usb/s2255/s2255drv.c
1828
vc->last_frame = vc->cur_frame;
drivers/media/usb/s2255/s2255drv.c
1829
vc->cur_frame++;
drivers/media/usb/s2255/s2255drv.c
1831
if ((vc->cur_frame == SYS_FRAMES) ||
drivers/media/usb/s2255/s2255drv.c
1832
(vc->cur_frame == vc->buffer.dwFrames))
drivers/media/usb/s2255/s2255drv.c
1833
vc->cur_frame = 0;
drivers/media/usb/s2255/s2255drv.c
1835
if (vb2_is_streaming(&vc->vb_vidq))
drivers/media/usb/s2255/s2255drv.c
1836
s2255_got_frame(vc, vc->jpg_size);
drivers/media/usb/s2255/s2255drv.c
1837
vc->frame_count++;
drivers/media/usb/s2255/s2255drv.c
1922
static int s2255_create_sys_buffers(struct s2255_vc *vc)
drivers/media/usb/s2255/s2255drv.c
1926
vc->buffer.dwFrames = SYS_FRAMES;
drivers/media/usb/s2255/s2255drv.c
1935
vc->buffer.frame[i].lpvbits = vmalloc(reqsize);
drivers/media/usb/s2255/s2255drv.c
1936
vc->buffer.frame[i].size = reqsize;
drivers/media/usb/s2255/s2255drv.c
1937
if (vc->buffer.frame[i].lpvbits == NULL) {
drivers/media/usb/s2255/s2255drv.c
1939
vc->buffer.dwFrames = i;
drivers/media/usb/s2255/s2255drv.c
1946
vc->buffer.frame[i].ulState = 0;
drivers/media/usb/s2255/s2255drv.c
1947
vc->buffer.frame[i].cur_size = 0;
drivers/media/usb/s2255/s2255drv.c
1950
vc->cur_frame = 0;
drivers/media/usb/s2255/s2255drv.c
1951
vc->last_frame = -1;
drivers/media/usb/s2255/s2255drv.c
1955
static int s2255_release_sys_buffers(struct s2255_vc *vc)
drivers/media/usb/s2255/s2255drv.c
1959
vfree(vc->buffer.frame[i].lpvbits);
drivers/media/usb/s2255/s2255drv.c
1960
vc->buffer.frame[i].lpvbits = NULL;
drivers/media/usb/s2255/s2255drv.c
1994
struct s2255_vc *vc = &dev->vc[j];
drivers/media/usb/s2255/s2255drv.c
1995
vc->mode = mode_def;
drivers/media/usb/s2255/s2255drv.c
1997
vc->mode.color |= (1 << 16);
drivers/media/usb/s2255/s2255drv.c
1998
vc->jpegqual = S2255_DEF_JPEG_QUAL;
drivers/media/usb/s2255/s2255drv.c
1999
vc->width = LINE_SZ_4CIFS_NTSC;
drivers/media/usb/s2255/s2255drv.c
2000
vc->height = NUM_LINES_4CIFS_NTSC * 2;
drivers/media/usb/s2255/s2255drv.c
2001
vc->std = V4L2_STD_NTSC_M;
drivers/media/usb/s2255/s2255drv.c
2002
vc->fmt = &formats[0];
drivers/media/usb/s2255/s2255drv.c
2003
vc->mode.restart = 1;
drivers/media/usb/s2255/s2255drv.c
2004
vc->req_image_size = get_transfer_size(&mode_def);
drivers/media/usb/s2255/s2255drv.c
2005
vc->frame_count = 0;
drivers/media/usb/s2255/s2255drv.c
2007
s2255_create_sys_buffers(vc);
drivers/media/usb/s2255/s2255drv.c
2021
if (vb2_is_streaming(&dev->vc[i].vb_vidq))
drivers/media/usb/s2255/s2255drv.c
2022
s2255_stop_acquire(&dev->vc[i]);
drivers/media/usb/s2255/s2255drv.c
2026
s2255_release_sys_buffers(&dev->vc[i]);
drivers/media/usb/s2255/s2255drv.c
2112
static int s2255_start_acquire(struct s2255_vc *vc)
drivers/media/usb/s2255/s2255drv.c
2117
struct s2255_dev *dev = to_s2255_dev(vc->vdev.v4l2_dev);
drivers/media/usb/s2255/s2255drv.c
2121
chn_rev = G_chnmap[vc->idx];
drivers/media/usb/s2255/s2255drv.c
2122
vc->last_frame = -1;
drivers/media/usb/s2255/s2255drv.c
2123
vc->bad_payload = 0;
drivers/media/usb/s2255/s2255drv.c
2124
vc->cur_frame = 0;
drivers/media/usb/s2255/s2255drv.c
2126
vc->buffer.frame[j].ulState = 0;
drivers/media/usb/s2255/s2255drv.c
2127
vc->buffer.frame[j].cur_size = 0;
drivers/media/usb/s2255/s2255drv.c
2138
dprintk(dev, 2, "start acquire exit[%d] %d\n", vc->idx, res);
drivers/media/usb/s2255/s2255drv.c
2143
static int s2255_stop_acquire(struct s2255_vc *vc)
drivers/media/usb/s2255/s2255drv.c
2147
struct s2255_dev *dev = to_s2255_dev(vc->vdev.v4l2_dev);
drivers/media/usb/s2255/s2255drv.c
2151
chn_rev = G_chnmap[vc->idx];
drivers/media/usb/s2255/s2255drv.c
2161
dprintk(dev, 4, "%s: chn %d, res %d\n", __func__, vc->idx, res);
drivers/media/usb/s2255/s2255drv.c
2254
struct s2255_vc *vc = &dev->vc[i];
drivers/media/usb/s2255/s2255drv.c
2255
vc->idx = i;
drivers/media/usb/s2255/s2255drv.c
2256
vc->dev = dev;
drivers/media/usb/s2255/s2255drv.c
2257
init_waitqueue_head(&vc->wait_setmode);
drivers/media/usb/s2255/s2255drv.c
2258
init_waitqueue_head(&vc->wait_vidstatus);
drivers/media/usb/s2255/s2255drv.c
2259
spin_lock_init(&vc->qlock);
drivers/media/usb/s2255/s2255drv.c
2260
mutex_init(&vc->vb_lock);
drivers/media/usb/s2255/s2255drv.c
2346
video_unregister_device(&dev->vc[i].vdev);
drivers/media/usb/s2255/s2255drv.c
2351
dev->vc[i].setmode_ready = 1;
drivers/media/usb/s2255/s2255drv.c
2352
wake_up(&dev->vc[i].wait_setmode);
drivers/media/usb/s2255/s2255drv.c
2353
dev->vc[i].vidstatus_ready = 1;
drivers/media/usb/s2255/s2255drv.c
2354
wake_up(&dev->vc[i].wait_vidstatus);
drivers/media/usb/s2255/s2255drv.c
248
struct s2255_vc vc[MAX_CHANNELS];
drivers/media/usb/s2255/s2255drv.c
337
static int s2255_start_acquire(struct s2255_vc *vc);
drivers/media/usb/s2255/s2255drv.c
338
static int s2255_stop_acquire(struct s2255_vc *vc);
drivers/media/usb/s2255/s2255drv.c
339
static void s2255_fillbuff(struct s2255_vc *vc, struct s2255_buffer *buf,
drivers/media/usb/s2255/s2255drv.c
341
static int s2255_set_mode(struct s2255_vc *vc, struct s2255_mode *mode);
drivers/media/usb/s2255/s2255drv.c
409
static int norm_maxw(struct s2255_vc *vc)
drivers/media/usb/s2255/s2255drv.c
411
return (vc->std & V4L2_STD_525_60) ?
drivers/media/usb/s2255/s2255drv.c
415
static int norm_maxh(struct s2255_vc *vc)
drivers/media/usb/s2255/s2255drv.c
417
return (vc->std & V4L2_STD_525_60) ?
drivers/media/usb/s2255/s2255drv.c
421
static int norm_minw(struct s2255_vc *vc)
drivers/media/usb/s2255/s2255drv.c
423
return (vc->std & V4L2_STD_525_60) ?
drivers/media/usb/s2255/s2255drv.c
427
static int norm_minh(struct s2255_vc *vc)
drivers/media/usb/s2255/s2255drv.c
429
return (vc->std & V4L2_STD_525_60) ?
drivers/media/usb/s2255/s2255drv.c
543
static void s2255_got_frame(struct s2255_vc *vc, int jpgsize)
drivers/media/usb/s2255/s2255drv.c
546
struct s2255_dev *dev = to_s2255_dev(vc->vdev.v4l2_dev);
drivers/media/usb/s2255/s2255drv.c
549
spin_lock_irqsave(&vc->qlock, flags);
drivers/media/usb/s2255/s2255drv.c
550
if (list_empty(&vc->buf_list)) {
drivers/media/usb/s2255/s2255drv.c
552
spin_unlock_irqrestore(&vc->qlock, flags);
drivers/media/usb/s2255/s2255drv.c
555
buf = list_entry(vc->buf_list.next,
drivers/media/usb/s2255/s2255drv.c
559
buf->vb.field = vc->field;
drivers/media/usb/s2255/s2255drv.c
560
buf->vb.sequence = vc->frame_count;
drivers/media/usb/s2255/s2255drv.c
561
spin_unlock_irqrestore(&vc->qlock, flags);
drivers/media/usb/s2255/s2255drv.c
563
s2255_fillbuff(vc, buf, jpgsize);
drivers/media/usb/s2255/s2255drv.c
592
static void s2255_fillbuff(struct s2255_vc *vc,
drivers/media/usb/s2255/s2255drv.c
599
struct s2255_dev *dev = vc->dev;
drivers/media/usb/s2255/s2255drv.c
603
last_frame = vc->last_frame;
drivers/media/usb/s2255/s2255drv.c
606
(const char *)vc->buffer.frame[last_frame].lpvbits;
drivers/media/usb/s2255/s2255drv.c
607
switch (vc->fmt->fourcc) {
drivers/media/usb/s2255/s2255drv.c
611
vbuf, vc->width,
drivers/media/usb/s2255/s2255drv.c
612
vc->height,
drivers/media/usb/s2255/s2255drv.c
613
vc->fmt->fourcc);
drivers/media/usb/s2255/s2255drv.c
616
memcpy(vbuf, tmpbuf, vc->width * vc->height);
drivers/media/usb/s2255/s2255drv.c
625
vc->width * vc->height * 2);
drivers/media/usb/s2255/s2255drv.c
630
vc->last_frame = -1;
drivers/media/usb/s2255/s2255drv.c
648
struct s2255_vc *vc = vb2_get_drv_priv(vq);
drivers/media/usb/s2255/s2255drv.c
652
sizes[0] = vc->width * vc->height * (vc->fmt->depth >> 3);
drivers/media/usb/s2255/s2255drv.c
658
struct s2255_vc *vc = vb2_get_drv_priv(vb->vb2_queue);
drivers/media/usb/s2255/s2255drv.c
661
int w = vc->width;
drivers/media/usb/s2255/s2255drv.c
662
int h = vc->height;
drivers/media/usb/s2255/s2255drv.c
665
dprintk(vc->dev, 4, "%s\n", __func__);
drivers/media/usb/s2255/s2255drv.c
666
if (vc->fmt == NULL)
drivers/media/usb/s2255/s2255drv.c
669
if ((w < norm_minw(vc)) ||
drivers/media/usb/s2255/s2255drv.c
670
(w > norm_maxw(vc)) ||
drivers/media/usb/s2255/s2255drv.c
671
(h < norm_minh(vc)) ||
drivers/media/usb/s2255/s2255drv.c
672
(h > norm_maxh(vc))) {
drivers/media/usb/s2255/s2255drv.c
673
dprintk(vc->dev, 4, "invalid buffer prepare\n");
drivers/media/usb/s2255/s2255drv.c
676
size = w * h * (vc->fmt->depth >> 3);
drivers/media/usb/s2255/s2255drv.c
678
dprintk(vc->dev, 4, "invalid buffer prepare\n");
drivers/media/usb/s2255/s2255drv.c
690
struct s2255_vc *vc = vb2_get_drv_priv(vb->vb2_queue);
drivers/media/usb/s2255/s2255drv.c
692
dprintk(vc->dev, 1, "%s\n", __func__);
drivers/media/usb/s2255/s2255drv.c
693
spin_lock_irqsave(&vc->qlock, flags);
drivers/media/usb/s2255/s2255drv.c
694
list_add_tail(&buf->list, &vc->buf_list);
drivers/media/usb/s2255/s2255drv.c
695
spin_unlock_irqrestore(&vc->qlock, flags);
drivers/media/usb/s2255/s2255drv.c
712
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
713
struct s2255_dev *dev = vc->dev;
drivers/media/usb/s2255/s2255drv.c
738
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
739
int is_ntsc = vc->std & V4L2_STD_525_60;
drivers/media/usb/s2255/s2255drv.c
741
f->fmt.pix.width = vc->width;
drivers/media/usb/s2255/s2255drv.c
742
f->fmt.pix.height = vc->height;
drivers/media/usb/s2255/s2255drv.c
748
f->fmt.pix.pixelformat = vc->fmt->fourcc;
drivers/media/usb/s2255/s2255drv.c
749
f->fmt.pix.bytesperline = f->fmt.pix.width * (vc->fmt->depth >> 3);
drivers/media/usb/s2255/s2255drv.c
760
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
761
int is_ntsc = vc->std & V4L2_STD_525_60;
drivers/media/usb/s2255/s2255drv.c
768
dprintk(vc->dev, 50, "%s NTSC: %d suggested width: %d, height: %d\n",
drivers/media/usb/s2255/s2255drv.c
801
dprintk(vc->dev, 50, "%s: set width %d height %d field %d\n", __func__,
drivers/media/usb/s2255/s2255drv.c
809
struct s2255_vc *vc = video_drvdata(file);
drivers/media/usb/s2255/s2255drv.c
811
struct vb2_queue *q = &vc->vb_vidq;
drivers/media/usb/s2255/s2255drv.c
815
ret = vidioc_try_fmt_vid_cap(file, vc, f);
drivers/media/usb/s2255/s2255drv.c
826
dprintk(vc->dev, 1, "queue busy\n");
drivers/media/usb/s2255/s2255drv.c
830
mode = vc->mode;
drivers/media/usb/s2255/s2255drv.c
831
vc->fmt = fmt;
drivers/media/usb/s2255/s2255drv.c
832
vc->width = f->fmt.pix.width;
drivers/media/usb/s2255/s2255drv.c
833
vc->height = f->fmt.pix.height;
drivers/media/usb/s2255/s2255drv.c
834
vc->field = f->fmt.pix.field;
drivers/media/usb/s2255/s2255drv.c
835
if (vc->width > norm_minw(vc)) {
drivers/media/usb/s2255/s2255drv.c
836
if (vc->height > norm_minh(vc)) {
drivers/media/usb/s2255/s2255drv.c
837
if (vc->cap_parm.capturemode &
drivers/media/usb/s2255/s2255drv.c
849
switch (vc->fmt->fourcc) {
drivers/media/usb/s2255/s2255drv.c
858
mode.color |= (vc->jpegqual << 8);
drivers/media/usb/s2255/s2255drv.c
871
if ((mode.color & MASK_COLOR) != (vc->mode.color & MASK_COLOR))
drivers/media/usb/s2255/s2255drv.c
873
else if (mode.scale != vc->mode.scale)
drivers/media/usb/s2255/s2255drv.c
875
else if (mode.format != vc->mode.format)
drivers/media/usb/s2255/s2255drv.c
877
vc->mode = mode;
drivers/media/usb/s2255/s2255drv.c
878
(void) s2255_set_mode(vc, &mode);
drivers/media/usb/s2255/s2255drv.c
979
static int s2255_set_mode(struct s2255_vc *vc,
drivers/media/usb/s2255/s2255drv.c
984
struct s2255_dev *dev = to_s2255_dev(vc->vdev.v4l2_dev);
drivers/media/usb/s2255/s2255drv.c
989
chn_rev = G_chnmap[vc->idx];
drivers/media/usb/s2255/s2255drv.c
990
dprintk(dev, 3, "%s channel: %d\n", __func__, vc->idx);
drivers/media/usb/s2255/s2255drv.c
996
mode->color |= (vc->jpegqual << 8);
drivers/media/usb/s2255/s2255drv.c
999
vc->mode = *mode;
drivers/media/v4l2-core/v4l2-fwnode.c
682
struct v4l2_fwnode_connector *vc)
drivers/media/v4l2-core/v4l2-fwnode.c
690
vc->connector.analog.sdtv_stds = ret ? V4L2_STD_ALL : stds;
drivers/media/v4l2-core/v4l2-subdev.c
382
entry->bus.csi2.vc,
drivers/net/wireless/mediatek/mt76/mt7915/main.c
683
struct mt7915_vif_cap *vc = &mvif->cap;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
685
vc->ht_ldpc = vif->bss_conf.ht_ldpc;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
686
vc->vht_ldpc = vif->bss_conf.vht_ldpc;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
687
vc->vht_su_ebfer = vif->bss_conf.vht_su_beamformer;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
688
vc->vht_su_ebfee = vif->bss_conf.vht_su_beamformee;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
689
vc->vht_mu_ebfer = vif->bss_conf.vht_mu_beamformer;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
690
vc->vht_mu_ebfee = vif->bss_conf.vht_mu_beamformee;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
691
vc->he_ldpc = vif->bss_conf.he_ldpc;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
692
vc->he_su_ebfer = vif->bss_conf.he_su_beamformer;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
693
vc->he_su_ebfee = vif->bss_conf.he_su_beamformee;
drivers/net/wireless/mediatek/mt76/mt7915/main.c
694
vc->he_mu_ebfer = vif->bss_conf.he_mu_beamformer;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1149
struct ieee80211_sta_vht_cap *vc = &phy->mt76->sband_5g.sband.vht_cap;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1164
vc->cap);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1183
const struct ieee80211_sta_he_cap *vc,
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1188
const struct ieee80211_he_cap_elem *ve = &vc->he_cap_elem;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1246
const struct ieee80211_sta_he_cap *vc = NULL;
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1266
vc = mt76_connac_get_he_phy_cap(phy->mt76, vif);
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1267
if (!vc)
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c
1279
mt7915_mcu_sta_bfer_he(sta, vc, bf);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1821
struct ieee80211_sta_vht_cap *vc = &phy->mt76->sband_5g.sband.vht_cap;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1836
vc->cap);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1863
const struct ieee80211_sta_he_cap *vc;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1866
vc = mt76_connac_get_he_phy_cap(phy->mt76, vif);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1867
if (!vc)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1871
ve = &vc->he_cap_elem;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1930
const struct ieee80211_sta_eht_cap *vc;
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1933
vc = mt76_connac_get_eht_phy_cap(phy->mt76, vif);
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1934
if (!vc)
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
1938
ve = &vc->eht_cap_elem;
drivers/perf/arm-ccn.c
228
static CCN_FORMAT_ATTR(vc, "config:26-28");
drivers/perf/arm-ccn.c
780
u32 vc = CCN_CONFIG_VC(event->attr.config);
drivers/perf/arm-ccn.c
791
if (e->num_vcs && vc >= e->num_vcs) {
drivers/perf/arm-ccn.c
793
vc, node_xp);
drivers/staging/fbtft/fb_ili9325.c
117
write_reg(par, 0x0011, 0x220 | vc); /* DC1[2:0], DC0[2:0], VC[2:0] */
drivers/staging/fbtft/fb_ili9325.c
29
static unsigned int vc = 0x03; /* Vci1=Vci*0.80 */
drivers/staging/fbtft/fb_ili9325.c
30
module_param(vc, uint, 0000);
drivers/staging/fbtft/fb_ili9325.c
31
MODULE_PARM_DESC(vc, "Sets the ratio factor of Vci to generate the reference voltages Vci1");
drivers/staging/fbtft/fb_ili9325.c
88
vc &= 0x07;
drivers/staging/greybus/camera.c
590
streams[i].vc = cfg->virtual_channel;
drivers/staging/greybus/camera.c
71
unsigned int vc;
drivers/staging/greybus/camera.c
824
streams[i].vc = gb_streams[i].vc;
drivers/staging/greybus/camera.c
984
stream->format, stream->vc,
drivers/staging/greybus/gb-camera.h
34
unsigned int vc;
drivers/staging/media/ipu7/abi/ipu7_fw_isys_abi.h
290
u8 vc;
drivers/staging/media/ipu7/ipu7-fw-isys.c
217
dev_dbg(dev, ".vc %d\n", cfg->vc);
drivers/staging/media/ipu7/ipu7-isys-csi-phy.c
267
static int __dids_config(struct ipu7_isys_csi2 *csi2, u32 id, u8 vc, u8 dt)
drivers/staging/media/ipu7/ipu7-isys-csi-phy.c
275
id, vc, dt);
drivers/staging/media/ipu7/ipu7-isys-csi-phy.c
289
dwc_csi_write_mask(isys, id, reg, vc & GENMASK(4, 0), hi, lo);
drivers/staging/media/ipu7/ipu7-isys-csi-phy.c
332
if (desc_entry->bus.csi2.vc < IPU7_NR_OF_CSI2_VC) {
drivers/staging/media/ipu7/ipu7-isys-csi-phy.c
333
ret = __dids_config(csi2, id, desc_entry->bus.csi2.vc,
drivers/staging/media/ipu7/ipu7-isys-csi2.c
468
ev.id = stream->vc;
drivers/staging/media/ipu7/ipu7-isys-csi2.c
473
csi2->port, ev.u.frame_sync.frame_sequence, stream->vc);
drivers/staging/media/ipu7/ipu7-isys-csi2.c
530
if (desc_entry->bus.csi2.vc >= IPU7_NR_OF_CSI2_VC) {
drivers/staging/media/ipu7/ipu7-isys-csi2.c
531
dev_err(dev, "invalid vc %d\n", desc_entry->bus.csi2.vc);
drivers/staging/media/ipu7/ipu7-isys-csi2.c
538
if (desc_entry->bus.csi2.vc == desc.entry[i].bus.csi2.vc)
drivers/staging/media/ipu7/ipu7-isys-video.c
457
stream_cfg->vc = stream->vc;
drivers/staging/media/ipu7/ipu7-isys-video.c
688
u8 vc = av->vc;
drivers/staging/media/ipu7/ipu7-isys-video.c
695
if (isys->streams_ref_count[i] && isys->streams[i].vc == vc &&
drivers/staging/media/ipu7/ipu7-isys-video.c
708
stream->vc = vc;
drivers/staging/media/ipu7/ipu7-isys-video.c
745
ipu7_isys_query_stream_by_source(struct ipu7_isys *isys, int source, u8 vc)
drivers/staging/media/ipu7/ipu7-isys-video.c
766
isys->streams[i].vc == vc) {
drivers/staging/media/ipu7/ipu7-isys-video.c
972
av->vc = 0;
drivers/staging/media/ipu7/ipu7-isys-video.c
979
entry.stream, entry.length, entry.bus.csi2.vc,
drivers/staging/media/ipu7/ipu7-isys-video.c
982
av->vc = entry.bus.csi2.vc;
drivers/staging/media/ipu7/ipu7-isys-video.h
116
ipu7_isys_query_stream_by_source(struct ipu7_isys *isys, int source, u8 vc);
drivers/staging/media/ipu7/ipu7-isys-video.h
76
u8 vc;
drivers/staging/media/ipu7/ipu7-isys-video.h
90
u8 vc;
drivers/staging/media/ipu7/ipu7-isys.c
1035
u8 vc;
drivers/staging/media/ipu7/ipu7-isys.c
1050
for (vc = 0; vc < IPU7_NR_OF_CSI2_VC && (sync || fe); vc++) {
drivers/staging/media/ipu7/ipu7-isys.c
1052
csi2->asd.source, vc);
drivers/staging/media/ipu7/ipu7-isys.c
1057
if (sync & IPU7P5_CSI_RX_SYNC_FS_VC & (1U << vc))
drivers/staging/media/ipu7/ipu7-isys.c
1060
if (fe & IPU7P5_CSI_RX_SYNC_FE_VC & (1U << vc))
drivers/staging/media/ipu7/ipu7-isys.c
1063
if (sync & IPU7_CSI_RX_SYNC_FS_VC & (1U << (vc * 2)))
drivers/staging/media/ipu7/ipu7-isys.c
1066
if (sync & IPU7_CSI_RX_SYNC_FE_VC & (2U << (vc * 2)))
drivers/staging/media/ipu7/ipu7-isys.c
109
isys->streams[i].vc = INVALID_VC_ID;
drivers/tty/vt/consolemap.c
287
unsigned short *set_translate(enum translation_map m, struct vc_data *vc)
drivers/tty/vt/consolemap.c
289
inv_translate[vc->vc_num] = m;
drivers/tty/vt/consolemap.c
450
void con_free_unimap(struct vc_data *vc)
drivers/tty/vt/consolemap.c
454
p = *vc->uni_pagedict_loc;
drivers/tty/vt/consolemap.c
457
*vc->uni_pagedict_loc = NULL;
drivers/tty/vt/consolemap.c
538
static int con_allocate_new(struct vc_data *vc)
drivers/tty/vt/consolemap.c
540
struct uni_pagedict *new, *old = *vc->uni_pagedict_loc;
drivers/tty/vt/consolemap.c
547
*vc->uni_pagedict_loc = new;
drivers/tty/vt/consolemap.c
556
static int con_do_clear_unimap(struct vc_data *vc)
drivers/tty/vt/consolemap.c
558
struct uni_pagedict *old = *vc->uni_pagedict_loc;
drivers/tty/vt/consolemap.c
561
return con_allocate_new(vc);
drivers/tty/vt/consolemap.c
569
int con_clear_unimap(struct vc_data *vc)
drivers/tty/vt/consolemap.c
572
return con_do_clear_unimap(vc);
drivers/tty/vt/consolemap.c
575
static struct uni_pagedict *con_unshare_unimap(struct vc_data *vc,
drivers/tty/vt/consolemap.c
583
ret = con_allocate_new(vc);
drivers/tty/vt/consolemap.c
587
new = *vc->uni_pagedict_loc;
drivers/tty/vt/consolemap.c
620
*vc->uni_pagedict_loc = old;
drivers/tty/vt/consolemap.c
632
int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list)
drivers/tty/vt/consolemap.c
648
dict = *vc->uni_pagedict_loc;
drivers/tty/vt/consolemap.c
653
dict = con_unshare_unimap(vc, dict);
drivers/tty/vt/consolemap.c
672
if (con_unify_unimap(vc, dict))
drivers/tty/vt/consolemap.c
676
set_inverse_transl(vc, dict, m);
drivers/tty/vt/consolemap.c
693
int con_set_default_unimap(struct vc_data *vc)
drivers/tty/vt/consolemap.c
701
dict = *vc->uni_pagedict_loc;
drivers/tty/vt/consolemap.c
706
*vc->uni_pagedict_loc = dflt;
drivers/tty/vt/consolemap.c
716
err = con_do_clear_unimap(vc);
drivers/tty/vt/consolemap.c
720
dict = *vc->uni_pagedict_loc;
drivers/tty/vt/consolemap.c
730
if (con_unify_unimap(vc, dict)) {
drivers/tty/vt/consolemap.c
731
dflt = *vc->uni_pagedict_loc;
drivers/tty/vt/consolemap.c
736
set_inverse_transl(vc, dict, m);
drivers/tty/vt/consolemap.c
772
int con_get_unimap(struct vc_data *vc, ushort ct, ushort __user *uct,
drivers/tty/vt/consolemap.c
785
dict = *vc->uni_pagedict_loc;
drivers/tty/vt/keyboard.c
1003
k_unicode(vc, BRL_UC_ROW, up_flag);
drivers/tty/vt/keyboard.c
1023
k_brlcommit(vc, committing, 0);
drivers/tty/vt/keyboard.c
1028
k_brlcommit(vc, committing, 0);
drivers/tty/vt/keyboard.c
1040
static void k_csi(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
1063
puts_queue(vc, buf);
drivers/tty/vt/keyboard.c
1344
static int emulate_raw(struct vc_data *vc, unsigned int keycode,
drivers/tty/vt/keyboard.c
1352
put_queue(vc, 0xe1);
drivers/tty/vt/keyboard.c
1353
put_queue(vc, 0x1d | up_flag);
drivers/tty/vt/keyboard.c
1354
put_queue(vc, 0x45 | up_flag);
drivers/tty/vt/keyboard.c
1359
put_queue(vc, 0xf2);
drivers/tty/vt/keyboard.c
1364
put_queue(vc, 0xf1);
drivers/tty/vt/keyboard.c
1376
put_queue(vc, 0x54 | up_flag);
drivers/tty/vt/keyboard.c
1378
put_queue(vc, 0xe0);
drivers/tty/vt/keyboard.c
1379
put_queue(vc, 0x2a | up_flag);
drivers/tty/vt/keyboard.c
1380
put_queue(vc, 0xe0);
drivers/tty/vt/keyboard.c
1381
put_queue(vc, 0x37 | up_flag);
drivers/tty/vt/keyboard.c
1394
put_queue(vc, 0xe0);
drivers/tty/vt/keyboard.c
1395
put_queue(vc, (code & 0x7f) | up_flag);
drivers/tty/vt/keyboard.c
1410
static int emulate_raw(struct vc_data *vc, unsigned int keycode, unsigned char up_flag)
drivers/tty/vt/keyboard.c
1415
put_queue(vc, keycode | up_flag);
drivers/tty/vt/keyboard.c
1422
struct vc_data *vc = vc_cons[fg_console].d;
drivers/tty/vt/keyboard.c
1424
kbd = &kbd_table[vc->vc_num];
drivers/tty/vt/keyboard.c
1426
put_queue(vc, data);
drivers/tty/vt/keyboard.c
1431
struct vc_data *vc = vc_cons[fg_console].d;
drivers/tty/vt/keyboard.c
1437
struct keyboard_notifier_param param = { .vc = vc, .value = keycode, .down = down };
drivers/tty/vt/keyboard.c
1440
tty = vc->port.tty;
drivers/tty/vt/keyboard.c
1444
tty->driver_data = vc;
drivers/tty/vt/keyboard.c
1447
kbd = &kbd_table[vc->vc_num];
drivers/tty/vt/keyboard.c
1458
if (emulate_raw(vc, keycode, !down << 7))
drivers/tty/vt/keyboard.c
1481
put_queue(vc, keycode | (!down << 7));
drivers/tty/vt/keyboard.c
1483
put_queue(vc, !down << 7);
drivers/tty/vt/keyboard.c
1484
put_queue(vc, (keycode >> 7) | BIT(7));
drivers/tty/vt/keyboard.c
1485
put_queue(vc, keycode | BIT(7));
drivers/tty/vt/keyboard.c
1547
k_unicode(vc, keysym, !down);
drivers/tty/vt/keyboard.c
1571
(*k_handler[type])(vc, KVAL(keysym), !down);
drivers/tty/vt/keyboard.c
326
static void put_queue(struct vc_data *vc, int ch)
drivers/tty/vt/keyboard.c
328
tty_insert_flip_char(&vc->port, ch, 0);
drivers/tty/vt/keyboard.c
329
tty_flip_buffer_push(&vc->port);
drivers/tty/vt/keyboard.c
332
static void puts_queue(struct vc_data *vc, const char *cp)
drivers/tty/vt/keyboard.c
334
tty_insert_flip_string(&vc->port, cp, strlen(cp));
drivers/tty/vt/keyboard.c
335
tty_flip_buffer_push(&vc->port);
drivers/tty/vt/keyboard.c
338
static void applkey(struct vc_data *vc, int key, char mode)
drivers/tty/vt/keyboard.c
344
puts_queue(vc, buf);
drivers/tty/vt/keyboard.c
353
static void to_utf8(struct vc_data *vc, uint c)
drivers/tty/vt/keyboard.c
357
put_queue(vc, c);
drivers/tty/vt/keyboard.c
360
put_queue(vc, 0xc0 | (c >> 6));
drivers/tty/vt/keyboard.c
361
put_queue(vc, 0x80 | (c & 0x3f));
drivers/tty/vt/keyboard.c
368
put_queue(vc, 0xe0 | (c >> 12));
drivers/tty/vt/keyboard.c
369
put_queue(vc, 0x80 | ((c >> 6) & 0x3f));
drivers/tty/vt/keyboard.c
370
put_queue(vc, 0x80 | (c & 0x3f));
drivers/tty/vt/keyboard.c
373
put_queue(vc, 0xf0 | (c >> 18));
drivers/tty/vt/keyboard.c
374
put_queue(vc, 0x80 | ((c >> 12) & 0x3f));
drivers/tty/vt/keyboard.c
375
put_queue(vc, 0x80 | ((c >> 6) & 0x3f));
drivers/tty/vt/keyboard.c
376
put_queue(vc, 0x80 | (c & 0x3f));
drivers/tty/vt/keyboard.c
380
static void put_queue_utf8(struct vc_data *vc, u32 value)
drivers/tty/vt/keyboard.c
383
to_utf8(vc, value);
drivers/tty/vt/keyboard.c
387
put_queue(vc, c);
drivers/tty/vt/keyboard.c
447
static unsigned int handle_diacr(struct vc_data *vc, unsigned int ch)
drivers/tty/vt/keyboard.c
466
put_queue_utf8(vc, d);
drivers/tty/vt/keyboard.c
474
static void fn_enter(struct vc_data *vc)
drivers/tty/vt/keyboard.c
477
put_queue_utf8(vc, diacr);
drivers/tty/vt/keyboard.c
481
put_queue(vc, '\r');
drivers/tty/vt/keyboard.c
483
put_queue(vc, '\n');
drivers/tty/vt/keyboard.c
486
static void fn_caps_toggle(struct vc_data *vc)
drivers/tty/vt/keyboard.c
494
static void fn_caps_on(struct vc_data *vc)
drivers/tty/vt/keyboard.c
502
static void fn_show_ptregs(struct vc_data *vc)
drivers/tty/vt/keyboard.c
510
static void fn_hold(struct vc_data *vc)
drivers/tty/vt/keyboard.c
512
struct tty_struct *tty = vc->port.tty;
drivers/tty/vt/keyboard.c
528
static void fn_num(struct vc_data *vc)
drivers/tty/vt/keyboard.c
531
applkey(vc, 'P', 1);
drivers/tty/vt/keyboard.c
533
fn_bare_num(vc);
drivers/tty/vt/keyboard.c
542
static void fn_bare_num(struct vc_data *vc)
drivers/tty/vt/keyboard.c
548
static void fn_lastcons(struct vc_data *vc)
drivers/tty/vt/keyboard.c
554
static void fn_dec_console(struct vc_data *vc)
drivers/tty/vt/keyboard.c
571
static void fn_inc_console(struct vc_data *vc)
drivers/tty/vt/keyboard.c
588
static void fn_send_intr(struct vc_data *vc)
drivers/tty/vt/keyboard.c
590
tty_insert_flip_char(&vc->port, 0, TTY_BREAK);
drivers/tty/vt/keyboard.c
591
tty_flip_buffer_push(&vc->port);
drivers/tty/vt/keyboard.c
594
static void fn_scroll_forw(struct vc_data *vc)
drivers/tty/vt/keyboard.c
596
scrollfront(vc, 0);
drivers/tty/vt/keyboard.c
599
static void fn_scroll_back(struct vc_data *vc)
drivers/tty/vt/keyboard.c
601
scrollback(vc);
drivers/tty/vt/keyboard.c
604
static void fn_show_mem(struct vc_data *vc)
drivers/tty/vt/keyboard.c
609
static void fn_show_state(struct vc_data *vc)
drivers/tty/vt/keyboard.c
614
static void fn_boot_it(struct vc_data *vc)
drivers/tty/vt/keyboard.c
619
static void fn_compose(struct vc_data *vc)
drivers/tty/vt/keyboard.c
624
static void fn_spawn_con(struct vc_data *vc)
drivers/tty/vt/keyboard.c
634
static void fn_SAK(struct vc_data *vc)
drivers/tty/vt/keyboard.c
640
static void fn_null(struct vc_data *vc)
drivers/tty/vt/keyboard.c
648
static void k_spec(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
659
fn_handler[value](vc);
drivers/tty/vt/keyboard.c
662
static void k_lowercase(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
667
static void k_unicode(struct vc_data *vc, unsigned int value, char up_flag)
drivers/tty/vt/keyboard.c
673
value = handle_diacr(vc, value);
drivers/tty/vt/keyboard.c
680
put_queue_utf8(vc, value);
drivers/tty/vt/keyboard.c
688
static void k_deadunicode(struct vc_data *vc, unsigned int value, char up_flag)
drivers/tty/vt/keyboard.c
693
diacr = (diacr ? handle_diacr(vc, value) : value);
drivers/tty/vt/keyboard.c
696
static void k_self(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
698
k_unicode(vc, conv_8bit_to_uni(value), up_flag);
drivers/tty/vt/keyboard.c
701
static void k_dead2(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
703
k_deadunicode(vc, value, up_flag);
drivers/tty/vt/keyboard.c
709
static void k_dead(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
741
k_deadunicode(vc, ret_diacr[value], up_flag);
drivers/tty/vt/keyboard.c
744
static void k_cons(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
752
static void k_fn(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
760
puts_queue(vc, func_table[value]);
drivers/tty/vt/keyboard.c
788
static void k_cur(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
79
typedef void (k_handler_fn)(struct vc_data *vc, unsigned char value,
drivers/tty/vt/keyboard.c
800
puts_queue(vc, buf);
drivers/tty/vt/keyboard.c
802
applkey(vc, cur_chars[value], vc_kbd_mode(kbd, VC_CKMODE));
drivers/tty/vt/keyboard.c
806
static void k_pad(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
816
applkey(vc, app_map[value], 1);
drivers/tty/vt/keyboard.c
825
k_fn(vc, KVAL(K_REMOVE), 0);
drivers/tty/vt/keyboard.c
828
k_fn(vc, KVAL(K_INSERT), 0);
drivers/tty/vt/keyboard.c
831
k_fn(vc, KVAL(K_SELECT), 0);
drivers/tty/vt/keyboard.c
834
k_cur(vc, KVAL(K_DOWN), 0);
drivers/tty/vt/keyboard.c
837
k_fn(vc, KVAL(K_PGDN), 0);
drivers/tty/vt/keyboard.c
840
k_cur(vc, KVAL(K_LEFT), 0);
drivers/tty/vt/keyboard.c
843
k_cur(vc, KVAL(K_RIGHT), 0);
drivers/tty/vt/keyboard.c
846
k_fn(vc, KVAL(K_FIND), 0);
drivers/tty/vt/keyboard.c
849
k_cur(vc, KVAL(K_UP), 0);
drivers/tty/vt/keyboard.c
852
k_fn(vc, KVAL(K_PGUP), 0);
drivers/tty/vt/keyboard.c
855
applkey(vc, 'G', vc_kbd_mode(kbd, VC_APPLIC));
drivers/tty/vt/keyboard.c
860
put_queue(vc, pad_chars[value]);
drivers/tty/vt/keyboard.c
862
put_queue(vc, '\n');
drivers/tty/vt/keyboard.c
865
static void k_shift(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
899
to_utf8(vc, npadch_value);
drivers/tty/vt/keyboard.c
901
put_queue(vc, npadch_value & 0xff);
drivers/tty/vt/keyboard.c
906
static void k_meta(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
91
typedef void (fn_handler_fn)(struct vc_data *vc);
drivers/tty/vt/keyboard.c
912
put_queue(vc, '\033');
drivers/tty/vt/keyboard.c
913
put_queue(vc, value);
drivers/tty/vt/keyboard.c
915
put_queue(vc, value | BIT(7));
drivers/tty/vt/keyboard.c
918
static void k_ascii(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
942
static void k_lock(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
950
static void k_slock(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/keyboard.c
952
k_shift(vc, value, up_flag);
drivers/tty/vt/keyboard.c
973
static void k_brlcommit(struct vc_data *vc, unsigned int pattern, char up_flag)
drivers/tty/vt/keyboard.c
979
k_deadunicode(vc, BRL_UC_ROW | pattern, up_flag);
drivers/tty/vt/keyboard.c
984
k_unicode(vc, BRL_UC_ROW | committed, up_flag);
drivers/tty/vt/keyboard.c
991
static void k_brl(struct vc_data *vc, unsigned char value, char up_flag)
drivers/tty/vt/selection.c
210
static int vc_selection_store_chars(struct vc_data *vc, bool unicode)
drivers/tty/vt/selection.c
236
if (!((i + 2) % vc->vc_size_row)) {
drivers/tty/vt/selection.c
251
static int vc_do_selection(struct vc_data *vc, unsigned short mode, int ps,
drivers/tty/vt/selection.c
269
if (!(ps % vc->vc_size_row))
drivers/tty/vt/selection.c
279
if (!((pe + 2) % vc->vc_size_row))
drivers/tty/vt/selection.c
284
new_sel_start = rounddown(ps, vc->vc_size_row);
drivers/tty/vt/selection.c
285
new_sel_end = rounddown(pe, vc->vc_size_row) +
drivers/tty/vt/selection.c
286
vc->vc_size_row - 2;
drivers/tty/vt/selection.c
300
!atedge(new_sel_end, vc->vc_size_row) &&
drivers/tty/vt/selection.c
304
atedge(pe, vc->vc_size_row))
drivers/tty/vt/selection.c
335
return vc_selection_store_chars(vc, unicode);
drivers/tty/vt/selection.c
338
static int vc_selection(struct vc_data *vc, struct tiocl_selection *v,
drivers/tty/vt/selection.c
352
v->xs = umin(v->xs - 1, vc->vc_cols - 1);
drivers/tty/vt/selection.c
353
v->ys = umin(v->ys - 1, vc->vc_rows - 1);
drivers/tty/vt/selection.c
354
v->xe = umin(v->xe - 1, vc->vc_cols - 1);
drivers/tty/vt/selection.c
355
v->ye = umin(v->ye - 1, vc->vc_rows - 1);
drivers/tty/vt/selection.c
363
ps = v->ys * vc->vc_size_row + (v->xs << 1);
drivers/tty/vt/selection.c
364
pe = v->ye * vc->vc_size_row + (v->xe << 1);
drivers/tty/vt/selection.c
368
if (vc_sel.cons != vc) {
drivers/tty/vt/selection.c
370
vc_sel.cons = vc;
drivers/tty/vt/selection.c
373
return vc_do_selection(vc, v->sel_mode, ps, pe);
drivers/tty/vt/selection.c
393
struct vc_data *vc = tty->driver_data;
drivers/tty/vt/selection.c
400
bool bp = vc->vc_bracketed_paste;
drivers/tty/vt/selection.c
412
tty_buffer_lock_exclusive(&vc->port);
drivers/tty/vt/selection.c
414
add_wait_queue(&vc->paste_wait, &wait);
drivers/tty/vt/selection.c
452
remove_wait_queue(&vc->paste_wait, &wait);
drivers/tty/vt/selection.c
455
tty_buffer_unlock_exclusive(&vc->port);
drivers/tty/vt/selection.c
93
bool vc_is_sel(const struct vc_data *vc)
drivers/tty/vt/selection.c
95
return vc == vc_sel.cons;
drivers/tty/vt/vc_screen.c
110
if (currcons != vc->vc_num)
drivers/tty/vt/vc_screen.c
210
static int vcs_size(const struct vc_data *vc, bool attr, bool unicode)
drivers/tty/vt/vc_screen.c
216
size = vc->vc_rows * vc->vc_cols;
drivers/tty/vt/vc_screen.c
232
struct vc_data *vc;
drivers/tty/vt/vc_screen.c
236
vc = vcs_vc(inode, NULL);
drivers/tty/vt/vc_screen.c
237
if (!vc)
drivers/tty/vt/vc_screen.c
240
size = vcs_size(vc, use_attributes(inode), use_unicode(inode));
drivers/tty/vt/vc_screen.c
247
static int vcs_read_buf_uni(struct vc_data *vc, char *con_buf,
drivers/tty/vt/vc_screen.c
250
unsigned int nr, row, col, maxcol = vc->vc_cols;
drivers/tty/vt/vc_screen.c
253
ret = vc_uniscr_check(vc);
drivers/tty/vt/vc_screen.c
264
vc_uniscr_copy_line(vc, con_buf, viewed, row, col, nr);
drivers/tty/vt/vc_screen.c
275
static void vcs_read_buf_noattr(const struct vc_data *vc, char *con_buf,
drivers/tty/vt/vc_screen.c
279
unsigned int col, maxcol = vc->vc_cols;
drivers/tty/vt/vc_screen.c
281
org = screen_pos(vc, pos, viewed);
drivers/tty/vt/vc_screen.c
286
*con_buf++ = (vcs_scr_readw(vc, org++) & 0xff);
drivers/tty/vt/vc_screen.c
288
org = screen_pos(vc, pos, viewed);
drivers/tty/vt/vc_screen.c
295
static unsigned int vcs_read_buf(const struct vc_data *vc, char *con_buf,
drivers/tty/vt/vc_screen.c
300
unsigned int col, maxcol = vc->vc_cols;
drivers/tty/vt/vc_screen.c
305
con_buf[0] = min(vc->vc_rows, 0xFFu);
drivers/tty/vt/vc_screen.c
306
con_buf[1] = min(vc->vc_cols, 0xFFu);
drivers/tty/vt/vc_screen.c
307
getconsxy(vc, con_buf + 2);
drivers/tty/vt/vc_screen.c
340
org = screen_pos(vc, pos, viewed);
drivers/tty/vt/vc_screen.c
351
*con_buf16++ = vcs_scr_readw(vc, org++);
drivers/tty/vt/vc_screen.c
354
org = screen_pos(vc, pos, viewed);
drivers/tty/vt/vc_screen.c
367
struct vc_data *vc;
drivers/tty/vt/vc_screen.c
403
vc = vcs_vc(inode, &viewed);
drivers/tty/vt/vc_screen.c
404
if (!vc) {
drivers/tty/vt/vc_screen.c
413
size = vcs_size(vc, attr, uni_mode);
drivers/tty/vt/vc_screen.c
433
ret = vcs_read_buf_uni(vc, con_buf, pos, this_round,
drivers/tty/vt/vc_screen.c
438
vcs_read_buf_noattr(vc, con_buf, pos, this_round,
drivers/tty/vt/vc_screen.c
441
this_round = vcs_read_buf(vc, con_buf, pos, this_round,
drivers/tty/vt/vc_screen.c
473
static u16 *vcs_write_buf_noattr(struct vc_data *vc, const char *con_buf,
drivers/tty/vt/vc_screen.c
477
unsigned int col, maxcol = vc->vc_cols;
drivers/tty/vt/vc_screen.c
479
*org0 = org = screen_pos(vc, pos, viewed);
drivers/tty/vt/vc_screen.c
487
vcs_scr_writew(vc,
drivers/tty/vt/vc_screen.c
488
(vcs_scr_readw(vc, org) & 0xff00) | c, org);
drivers/tty/vt/vc_screen.c
491
org = screen_pos(vc, pos, viewed);
drivers/tty/vt/vc_screen.c
513
static u16 *vcs_write_buf(struct vc_data *vc, const char *con_buf,
drivers/tty/vt/vc_screen.c
517
unsigned int col, maxcol = vc->vc_cols;
drivers/tty/vt/vc_screen.c
524
getconsxy(vc, header + 2);
drivers/tty/vt/vc_screen.c
530
putconsxy(vc, header + 2);
drivers/tty/vt/vc_screen.c
539
*org0 = org = screen_pos(vc, pos/2, viewed);
drivers/tty/vt/vc_screen.c
545
vcs_scr_writew(vc, vc_compile_le16(c, vcs_scr_readw(vc, org)),
drivers/tty/vt/vc_screen.c
550
org = screen_pos(vc, pos/2, viewed);
drivers/tty/vt/vc_screen.c
563
vcs_scr_writew(vc, w, org++);
drivers/tty/vt/vc_screen.c
567
org = screen_pos(vc, pos, viewed);
drivers/tty/vt/vc_screen.c
578
vcs_scr_writew(vc, vc_compile_le16(vcs_scr_readw(vc, org) >> 8, c),
drivers/tty/vt/vc_screen.c
588
struct vc_data *vc;
drivers/tty/vt/vc_screen.c
611
vc = vcs_vc(inode, &viewed);
drivers/tty/vt/vc_screen.c
612
if (!vc)
drivers/tty/vt/vc_screen.c
615
size = vcs_size(vc, attr, false);
drivers/tty/vt/vc_screen.c
652
vc = vcs_vc(inode, &viewed);
drivers/tty/vt/vc_screen.c
653
if (!vc) {
drivers/tty/vt/vc_screen.c
658
size = vcs_size(vc, attr, false);
drivers/tty/vt/vc_screen.c
674
org = vcs_write_buf(vc, con_buf, pos, this_round,
drivers/tty/vt/vc_screen.c
677
org = vcs_write_buf_noattr(vc, con_buf, pos, this_round,
drivers/tty/vt/vc_screen.c
685
update_region(vc, (unsigned long)(org0), org - org0);
drivers/tty/vt/vc_screen.c
689
if (written && vc)
drivers/tty/vt/vc_screen.c
690
vcs_scr_updated(vc);
drivers/tty/vt/vc_screen.c
89
struct vc_data *vc = param->vc;
drivers/tty/vt/vt.c
1002
if (old_was_color != vc->vc_can_do_color) {
drivers/tty/vt/vt.c
1003
update_attr(vc);
drivers/tty/vt/vt.c
1004
clear_buffer_attributes(vc);
drivers/tty/vt/vt.c
1007
if (update && vc->vc_mode != KD_GRAPHICS)
drivers/tty/vt/vt.c
1008
do_update_region(vc, vc->vc_origin, vc->vc_screenbuf_size / 2);
drivers/tty/vt/vt.c
1010
set_cursor(vc);
drivers/tty/vt/vt.c
1013
notify_update(vc);
drivers/tty/vt/vt.c
1027
static void visual_init(struct vc_data *vc, int num, bool init)
drivers/tty/vt/vt.c
1030
if (vc->vc_sw)
drivers/tty/vt/vt.c
1031
module_put(vc->vc_sw->owner);
drivers/tty/vt/vt.c
1032
vc->vc_sw = conswitchp;
drivers/tty/vt/vt.c
1035
vc->vc_sw = con_driver_map[num];
drivers/tty/vt/vt.c
1037
__module_get(vc->vc_sw->owner);
drivers/tty/vt/vt.c
1038
vc->vc_num = num;
drivers/tty/vt/vt.c
1039
vc->vc_display_fg = &master_display_fg;
drivers/tty/vt/vt.c
1040
if (vc->uni_pagedict_loc)
drivers/tty/vt/vt.c
1041
con_free_unimap(vc);
drivers/tty/vt/vt.c
1042
vc->uni_pagedict_loc = &vc->uni_pagedict;
drivers/tty/vt/vt.c
1043
vc->uni_pagedict = NULL;
drivers/tty/vt/vt.c
1044
vc->vc_hi_font_mask = 0;
drivers/tty/vt/vt.c
1045
vc->vc_complement_mask = 0;
drivers/tty/vt/vt.c
1046
vc->vc_can_do_color = 0;
drivers/tty/vt/vt.c
1047
vc->vc_cur_blink_ms = DEFAULT_CURSOR_BLINK_MS;
drivers/tty/vt/vt.c
1048
vc->vc_sw->con_init(vc, init);
drivers/tty/vt/vt.c
1049
if (!vc->vc_complement_mask)
drivers/tty/vt/vt.c
1050
vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800;
drivers/tty/vt/vt.c
1051
vc->vc_s_complement_mask = vc->vc_complement_mask;
drivers/tty/vt/vt.c
1052
vc->vc_size_row = vc->vc_cols << 1;
drivers/tty/vt/vt.c
1053
vc->vc_screenbuf_size = vc->vc_rows * vc->vc_size_row;
drivers/tty/vt/vt.c
1057
static void visual_deinit(struct vc_data *vc)
drivers/tty/vt/vt.c
1059
vc->vc_sw->con_deinit(vc);
drivers/tty/vt/vt.c
1060
module_put(vc->vc_sw->owner);
drivers/tty/vt/vt.c
1065
struct vc_data *vc = container_of(port, struct vc_data, port);
drivers/tty/vt/vt.c
1067
kfree(vc);
drivers/tty/vt/vt.c
1085
struct vc_data *vc;
drivers/tty/vt/vt.c
1102
param.vc = vc = kzalloc_obj(struct vc_data);
drivers/tty/vt/vt.c
1103
if (!vc)
drivers/tty/vt/vt.c
1106
vc_cons[currcons].d = vc;
drivers/tty/vt/vt.c
1107
tty_port_init(&vc->port);
drivers/tty/vt/vt.c
1108
vc->port.ops = &vc_port_ops;
drivers/tty/vt/vt.c
1111
visual_init(vc, currcons, true);
drivers/tty/vt/vt.c
1113
if (!*vc->uni_pagedict_loc)
drivers/tty/vt/vt.c
1114
con_set_default_unimap(vc);
drivers/tty/vt/vt.c
1117
if (vc->vc_cols > VC_MAXCOL || vc->vc_rows > VC_MAXROW ||
drivers/tty/vt/vt.c
1118
vc->vc_screenbuf_size > KMALLOC_MAX_SIZE || !vc->vc_screenbuf_size)
drivers/tty/vt/vt.c
1121
vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size, GFP_KERNEL);
drivers/tty/vt/vt.c
1122
if (!vc->vc_screenbuf)
drivers/tty/vt/vt.c
1130
vc_init(vc, 1);
drivers/tty/vt/vt.c
1136
visual_deinit(vc);
drivers/tty/vt/vt.c
1137
kfree(vc);
drivers/tty/vt/vt.c
1142
static inline int resize_screen(struct vc_data *vc, int width, int height,
drivers/tty/vt/vt.c
1148
if (vc->vc_sw->con_resize)
drivers/tty/vt/vt.c
1149
err = vc->vc_sw->con_resize(vc, width, height, from_user);
drivers/tty/vt/vt.c
1169
static int vc_do_resize(struct tty_struct *tty, struct vc_data *vc,
drivers/tty/vt/vt.c
1184
new_cols = (cols ? cols : vc->vc_cols);
drivers/tty/vt/vt.c
1185
new_rows = (lines ? lines : vc->vc_rows);
drivers/tty/vt/vt.c
1189
if (new_cols == vc->vc_cols && new_rows == vc->vc_rows) {
drivers/tty/vt/vt.c
1206
return resize_screen(vc, new_cols, new_rows, from_user);
drivers/tty/vt/vt.c
1215
if (vc->vc_uni_lines) {
drivers/tty/vt/vt.c
1223
if (vc_is_sel(vc))
drivers/tty/vt/vt.c
1226
old_rows = vc->vc_rows;
drivers/tty/vt/vt.c
1227
old_row_size = vc->vc_size_row;
drivers/tty/vt/vt.c
1229
err = resize_screen(vc, new_cols, new_rows, from_user);
drivers/tty/vt/vt.c
1236
vc->vc_rows = new_rows;
drivers/tty/vt/vt.c
1237
vc->vc_cols = new_cols;
drivers/tty/vt/vt.c
1238
vc->vc_size_row = new_row_size;
drivers/tty/vt/vt.c
1239
vc->vc_screenbuf_size = new_screen_size;
drivers/tty/vt/vt.c
1243
old_origin = vc->vc_origin;
drivers/tty/vt/vt.c
1247
if (vc->state.y > new_rows) {
drivers/tty/vt/vt.c
1248
if (old_rows - vc->state.y < new_rows) {
drivers/tty/vt/vt.c
1259
first_copied_row = (vc->state.y - new_rows/2);
drivers/tty/vt/vt.c
1267
vc->vc_uni_lines, rlth/2, first_copied_row,
drivers/tty/vt/vt.c
1269
vc_uniscr_set(vc, new_uniscr);
drivers/tty/vt/vt.c
1271
update_attr(vc);
drivers/tty/vt/vt.c
1278
vc->vc_video_erase_char, rrem);
drivers/tty/vt/vt.c
1283
scr_memsetw((void *)new_origin, vc->vc_video_erase_char,
drivers/tty/vt/vt.c
1285
oldscreen = vc->vc_screenbuf;
drivers/tty/vt/vt.c
1286
vc->vc_screenbuf = newscreen;
drivers/tty/vt/vt.c
1287
vc->vc_screenbuf_size = new_screen_size;
drivers/tty/vt/vt.c
1288
set_origin(vc);
drivers/tty/vt/vt.c
1292
vc->vc_top = 0;
drivers/tty/vt/vt.c
1293
vc->vc_bottom = vc->vc_rows;
drivers/tty/vt/vt.c
1294
gotoxy(vc, vc->state.x, vc->state.y);
drivers/tty/vt/vt.c
1295
save_cur(vc);
drivers/tty/vt/vt.c
1302
ws.ws_row = vc->vc_rows;
drivers/tty/vt/vt.c
1303
ws.ws_col = vc->vc_cols;
drivers/tty/vt/vt.c
1304
ws.ws_ypixel = vc->vc_scan_lines;
drivers/tty/vt/vt.c
1308
if (con_is_visible(vc))
drivers/tty/vt/vt.c
1309
update_screen(vc);
drivers/tty/vt/vt.c
1310
vt_event_post(VT_EVENT_RESIZE, vc->vc_num, vc->vc_num);
drivers/tty/vt/vt.c
1311
notify_update(vc);
drivers/tty/vt/vt.c
1328
int __vc_resize(struct vc_data *vc, unsigned int cols, unsigned int rows,
drivers/tty/vt/vt.c
1331
return vc_do_resize(vc->port.tty, vc, cols, rows, from_user);
drivers/tty/vt/vt.c
1348
struct vc_data *vc = tty->driver_data;
drivers/tty/vt/vt.c
1351
return vc_do_resize(tty, vc, ws->ws_col, ws->ws_row, false);
drivers/tty/vt/vt.c
1356
struct vc_data *vc = NULL;
drivers/tty/vt/vt.c
1363
param.vc = vc = vc_cons[currcons].d;
drivers/tty/vt/vt.c
1366
visual_deinit(vc);
drivers/tty/vt/vt.c
1367
con_free_unimap(vc);
drivers/tty/vt/vt.c
1368
put_pid(vc->vt_pid);
drivers/tty/vt/vt.c
1369
vc_uniscr_set(vc, NULL);
drivers/tty/vt/vt.c
137
struct vc vc_cons [MAX_NR_CONSOLES];
drivers/tty/vt/vt.c
1370
kfree(vc->vc_screenbuf);
drivers/tty/vt/vt.c
1372
if (vc->vc_saved_screen != NULL) {
drivers/tty/vt/vt.c
1373
kfree(vc->vc_saved_screen);
drivers/tty/vt/vt.c
1374
vc->vc_saved_screen = NULL;
drivers/tty/vt/vt.c
1376
vc_uniscr_free(vc->vc_saved_uni_lines);
drivers/tty/vt/vt.c
1377
vc->vc_saved_uni_lines = NULL;
drivers/tty/vt/vt.c
1379
return vc;
drivers/tty/vt/vt.c
1388
#define set_kbd(vc, x) vt_set_kbd_mode_bit((vc)->vc_num, (x))
drivers/tty/vt/vt.c
1389
#define clr_kbd(vc, x) vt_clr_kbd_mode_bit((vc)->vc_num, (x))
drivers/tty/vt/vt.c
1390
#define is_kbd(vc, x) vt_get_kbd_mode_bit((vc)->vc_num, (x))
drivers/tty/vt/vt.c
1428
static void gotoxy(struct vc_data *vc, int new_x, int new_y)
drivers/tty/vt/vt.c
143
static void vc_init(struct vc_data *vc, int do_clear);
drivers/tty/vt/vt.c
1433
vc->state.x = 0;
drivers/tty/vt/vt.c
1435
if (new_x >= vc->vc_cols)
drivers/tty/vt/vt.c
1436
vc->state.x = vc->vc_cols - 1;
drivers/tty/vt/vt.c
1438
vc->state.x = new_x;
drivers/tty/vt/vt.c
144
static void gotoxy(struct vc_data *vc, int new_x, int new_y);
drivers/tty/vt/vt.c
1441
if (vc->vc_decom) {
drivers/tty/vt/vt.c
1442
min_y = vc->vc_top;
drivers/tty/vt/vt.c
1443
max_y = vc->vc_bottom;
drivers/tty/vt/vt.c
1446
max_y = vc->vc_rows;
drivers/tty/vt/vt.c
1449
vc->state.y = min_y;
drivers/tty/vt/vt.c
145
static void restore_cur(struct vc_data *vc);
drivers/tty/vt/vt.c
1451
vc->state.y = max_y - 1;
drivers/tty/vt/vt.c
1453
vc->state.y = new_y;
drivers/tty/vt/vt.c
1454
vc->vc_pos = vc->vc_origin + vc->state.y * vc->vc_size_row +
drivers/tty/vt/vt.c
1455
(vc->state.x << 1);
drivers/tty/vt/vt.c
1456
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
146
static void save_cur(struct vc_data *vc);
drivers/tty/vt/vt.c
1460
static void gotoxay(struct vc_data *vc, int new_x, int new_y)
drivers/tty/vt/vt.c
1462
gotoxy(vc, new_x, vc->vc_decom ? (vc->vc_top + new_y) : new_y);
drivers/tty/vt/vt.c
1465
void scrollback(struct vc_data *vc)
drivers/tty/vt/vt.c
1467
scrolldelta(-(vc->vc_rows / 2));
drivers/tty/vt/vt.c
147
static void reset_terminal(struct vc_data *vc, int do_clear);
drivers/tty/vt/vt.c
1470
void scrollfront(struct vc_data *vc, int lines)
drivers/tty/vt/vt.c
1473
lines = vc->vc_rows / 2;
drivers/tty/vt/vt.c
1477
static void lf(struct vc_data *vc)
drivers/tty/vt/vt.c
1482
if (vc->state.y + 1 == vc->vc_bottom)
drivers/tty/vt/vt.c
1483
con_scroll(vc, vc->vc_top, vc->vc_bottom, SM_UP, 1);
drivers/tty/vt/vt.c
1484
else if (vc->state.y < vc->vc_rows - 1) {
drivers/tty/vt/vt.c
1485
vc->state.y++;
drivers/tty/vt/vt.c
1486
vc->vc_pos += vc->vc_size_row;
drivers/tty/vt/vt.c
1488
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
1489
notify_write(vc, '\n');
drivers/tty/vt/vt.c
1492
static void ri(struct vc_data *vc)
drivers/tty/vt/vt.c
1497
if (vc->state.y == vc->vc_top)
drivers/tty/vt/vt.c
1498
con_scroll(vc, vc->vc_top, vc->vc_bottom, SM_DOWN, 1);
drivers/tty/vt/vt.c
1499
else if (vc->state.y > 0) {
drivers/tty/vt/vt.c
150
static void set_cursor(struct vc_data *vc);
drivers/tty/vt/vt.c
1500
vc->state.y--;
drivers/tty/vt/vt.c
1501
vc->vc_pos -= vc->vc_size_row;
drivers/tty/vt/vt.c
1503
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
1506
static inline void cr(struct vc_data *vc)
drivers/tty/vt/vt.c
1508
vc->vc_pos -= vc->state.x << 1;
drivers/tty/vt/vt.c
1509
vc->vc_need_wrap = vc->state.x = 0;
drivers/tty/vt/vt.c
151
static void hide_cursor(struct vc_data *vc);
drivers/tty/vt/vt.c
1510
notify_write(vc, '\r');
drivers/tty/vt/vt.c
1513
static inline void bs(struct vc_data *vc)
drivers/tty/vt/vt.c
1515
if (vc->state.x) {
drivers/tty/vt/vt.c
1516
vc->vc_pos -= 2;
drivers/tty/vt/vt.c
1517
vc->state.x--;
drivers/tty/vt/vt.c
1518
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
1519
notify_write(vc, '\b');
drivers/tty/vt/vt.c
1523
static inline void del(struct vc_data *vc)
drivers/tty/vt/vt.c
1535
static void csi_J(struct vc_data *vc, enum CSI_J vpar)
drivers/tty/vt/vt.c
1542
vc_uniscr_clear_line(vc, vc->state.x,
drivers/tty/vt/vt.c
1543
vc->vc_cols - vc->state.x);
drivers/tty/vt/vt.c
1544
vc_uniscr_clear_lines(vc, vc->state.y + 1,
drivers/tty/vt/vt.c
1545
vc->vc_rows - vc->state.y - 1);
drivers/tty/vt/vt.c
1546
count = (vc->vc_scr_end - vc->vc_pos) >> 1;
drivers/tty/vt/vt.c
1547
start = (unsigned short *)vc->vc_pos;
drivers/tty/vt/vt.c
155
static void set_palette(struct vc_data *vc);
drivers/tty/vt/vt.c
1550
vc_uniscr_clear_line(vc, 0, vc->state.x + 1);
drivers/tty/vt/vt.c
1551
vc_uniscr_clear_lines(vc, 0, vc->state.y);
drivers/tty/vt/vt.c
1552
count = ((vc->vc_pos - vc->vc_origin) >> 1) + 1;
drivers/tty/vt/vt.c
1553
start = (unsigned short *)vc->vc_origin;
drivers/tty/vt/vt.c
1556
flush_scrollback(vc);
drivers/tty/vt/vt.c
1559
vc_uniscr_clear_lines(vc, 0, vc->vc_rows);
drivers/tty/vt/vt.c
1560
count = vc->vc_cols * vc->vc_rows;
drivers/tty/vt/vt.c
1561
start = (unsigned short *)vc->vc_origin;
drivers/tty/vt/vt.c
1566
scr_memsetw(start, vc->vc_video_erase_char, 2 * count);
drivers/tty/vt/vt.c
1567
if (con_should_update(vc))
drivers/tty/vt/vt.c
1568
do_update_region(vc, (unsigned long) start, count);
drivers/tty/vt/vt.c
1569
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
1578
static void csi_K(struct vc_data *vc)
drivers/tty/vt/vt.c
1581
unsigned short *start = (unsigned short *)vc->vc_pos;
drivers/tty/vt/vt.c
1584
switch (vc->vc_par[0]) {
drivers/tty/vt/vt.c
1587
count = vc->vc_cols - vc->state.x;
drivers/tty/vt/vt.c
1590
offset = -vc->state.x;
drivers/tty/vt/vt.c
1591
count = vc->state.x + 1;
drivers/tty/vt/vt.c
1594
offset = -vc->state.x;
drivers/tty/vt/vt.c
1595
count = vc->vc_cols;
drivers/tty/vt/vt.c
1600
vc_uniscr_clear_line(vc, vc->state.x + offset, count);
drivers/tty/vt/vt.c
1601
scr_memsetw(start + offset, vc->vc_video_erase_char, 2 * count);
drivers/tty/vt/vt.c
1602
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
1603
if (con_should_update(vc))
drivers/tty/vt/vt.c
1604
do_update_region(vc, (unsigned long)(start + offset), count);
drivers/tty/vt/vt.c
1608
static void csi_X(struct vc_data *vc)
drivers/tty/vt/vt.c
1610
unsigned int count = clamp(vc->vc_par[0], 1, vc->vc_cols - vc->state.x);
drivers/tty/vt/vt.c
1612
vc_uniscr_clear_line(vc, vc->state.x, count);
drivers/tty/vt/vt.c
1613
scr_memsetw((unsigned short *)vc->vc_pos, vc->vc_video_erase_char, 2 * count);
drivers/tty/vt/vt.c
1614
if (con_should_update(vc))
drivers/tty/vt/vt.c
1615
vc->vc_sw->con_clear(vc, vc->state.y, vc->state.x, count);
drivers/tty/vt/vt.c
1616
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
1619
static void default_attr(struct vc_data *vc)
drivers/tty/vt/vt.c
1621
vc->state.intensity = VCI_NORMAL;
drivers/tty/vt/vt.c
1622
vc->state.italic = false;
drivers/tty/vt/vt.c
1623
vc->state.underline = false;
drivers/tty/vt/vt.c
1624
vc->state.reverse = false;
drivers/tty/vt/vt.c
1625
vc->state.blink = false;
drivers/tty/vt/vt.c
1626
vc->state.color = vc->vc_def_color;
drivers/tty/vt/vt.c
1652
static void rgb_foreground(struct vc_data *vc, const struct rgb *c)
drivers/tty/vt/vt.c
1665
vc->state.intensity = VCI_BOLD;
drivers/tty/vt/vt.c
1667
vc->state.intensity = VCI_BOLD;
drivers/tty/vt/vt.c
1669
vc->state.intensity = VCI_NORMAL;
drivers/tty/vt/vt.c
1671
vc->state.color = (vc->state.color & 0xf0) | hue;
drivers/tty/vt/vt.c
1674
static void rgb_background(struct vc_data *vc, const struct rgb *c)
drivers/tty/vt/vt.c
1677
vc->state.color = (vc->state.color & 0x0f)
drivers/tty/vt/vt.c
1688
static int vc_t416_color(struct vc_data *vc, int i,
drivers/tty/vt/vt.c
1689
void(*set_color)(struct vc_data *vc, const struct rgb *c))
drivers/tty/vt/vt.c
1694
if (i > vc->vc_npar)
drivers/tty/vt/vt.c
1697
if (vc->vc_par[i] == 5 && i + 1 <= vc->vc_npar) {
drivers/tty/vt/vt.c
1700
rgb_from_256(vc->vc_par[i], &c);
drivers/tty/vt/vt.c
1701
} else if (vc->vc_par[i] == 2 && i + 3 <= vc->vc_npar) {
drivers/tty/vt/vt.c
1703
c.r = vc->vc_par[i + 1];
drivers/tty/vt/vt.c
1704
c.g = vc->vc_par[i + 2];
drivers/tty/vt/vt.c
1705
c.b = vc->vc_par[i + 3];
drivers/tty/vt/vt.c
1710
set_color(vc, &c);
drivers/tty/vt/vt.c
1750
static void csi_m(struct vc_data *vc)
drivers/tty/vt/vt.c
1754
for (i = 0; i <= vc->vc_npar; i++)
drivers/tty/vt/vt.c
1755
switch (vc->vc_par[i]) {
drivers/tty/vt/vt.c
1757
default_attr(vc);
drivers/tty/vt/vt.c
1760
vc->state.intensity = VCI_BOLD;
drivers/tty/vt/vt.c
1763
vc->state.intensity = VCI_HALF_BRIGHT;
drivers/tty/vt/vt.c
1766
vc->state.italic = true;
drivers/tty/vt/vt.c
1774
vc->state.underline = true;
drivers/tty/vt/vt.c
1777
vc->state.blink = true;
drivers/tty/vt/vt.c
1780
vc->state.reverse = true;
drivers/tty/vt/vt.c
1786
vc->vc_translate = set_translate(vc->state.Gx_charset[vc->state.charset], vc);
drivers/tty/vt/vt.c
1787
vc->vc_disp_ctrl = 0;
drivers/tty/vt/vt.c
1788
vc->vc_toggle_meta = 0;
drivers/tty/vt/vt.c
1794
vc->vc_translate = set_translate(IBMPC_MAP, vc);
drivers/tty/vt/vt.c
1795
vc->vc_disp_ctrl = 1;
drivers/tty/vt/vt.c
1796
vc->vc_toggle_meta = 0;
drivers/tty/vt/vt.c
1802
vc->vc_translate = set_translate(IBMPC_MAP, vc);
drivers/tty/vt/vt.c
1803
vc->vc_disp_ctrl = 1;
drivers/tty/vt/vt.c
1804
vc->vc_toggle_meta = 1;
drivers/tty/vt/vt.c
1807
vc->state.intensity = VCI_NORMAL;
drivers/tty/vt/vt.c
1810
vc->state.italic = false;
drivers/tty/vt/vt.c
1813
vc->state.underline = false;
drivers/tty/vt/vt.c
1816
vc->state.blink = false;
drivers/tty/vt/vt.c
1819
vc->state.reverse = false;
drivers/tty/vt/vt.c
1822
i = vc_t416_color(vc, i, rgb_foreground);
drivers/tty/vt/vt.c
1825
i = vc_t416_color(vc, i, rgb_background);
drivers/tty/vt/vt.c
1828
vc->state.color = (vc->vc_def_color & 0x0f) |
drivers/tty/vt/vt.c
1829
(vc->state.color & 0xf0);
drivers/tty/vt/vt.c
1832
vc->state.color = (vc->vc_def_color & 0xf0) |
drivers/tty/vt/vt.c
1833
(vc->state.color & 0x0f);
drivers/tty/vt/vt.c
1836
vc->state.intensity = VCI_BOLD;
drivers/tty/vt/vt.c
1837
vc->vc_par[i] -= CSI_m_BRIGHT_FG_COLOR_OFF;
drivers/tty/vt/vt.c
1840
vc->vc_par[i] -= CSI_m_FG_COLOR_BEG;
drivers/tty/vt/vt.c
1841
vc->state.color = color_table[vc->vc_par[i]] |
drivers/tty/vt/vt.c
1842
(vc->state.color & 0xf0);
drivers/tty/vt/vt.c
1845
vc->vc_par[i] -= CSI_m_BRIGHT_BG_COLOR_OFF;
drivers/tty/vt/vt.c
1848
vc->vc_par[i] -= CSI_m_BG_COLOR_BEG;
drivers/tty/vt/vt.c
1849
vc->state.color = (color_table[vc->vc_par[i]] << 4) |
drivers/tty/vt/vt.c
1850
(vc->state.color & 0x0f);
drivers/tty/vt/vt.c
1853
update_attr(vc);
drivers/tty/vt/vt.c
1862
static void cursor_report(struct vc_data *vc, struct tty_struct *tty)
drivers/tty/vt/vt.c
1867
len = sprintf(buf, "\033[%d;%dR", vc->state.y +
drivers/tty/vt/vt.c
1868
(vc->vc_decom ? vc->vc_top + 1 : 1),
drivers/tty/vt/vt.c
1869
vc->state.x + 1);
drivers/tty/vt/vt.c
1907
struct vc_data *vc = tty->driver_data;
drivers/tty/vt/vt.c
1909
return vc->vc_bracketed_paste;
drivers/tty/vt/vt.c
1913
static void enter_alt_screen(struct vc_data *vc)
drivers/tty/vt/vt.c
1915
unsigned int size = vc->vc_rows * vc->vc_cols * 2;
drivers/tty/vt/vt.c
1917
if (vc->vc_saved_screen != NULL)
drivers/tty/vt/vt.c
1919
vc->vc_saved_screen = kmemdup((u16 *)vc->vc_origin, size, GFP_KERNEL);
drivers/tty/vt/vt.c
1920
if (vc->vc_saved_screen == NULL)
drivers/tty/vt/vt.c
1922
vc->vc_saved_uni_lines = vc->vc_uni_lines;
drivers/tty/vt/vt.c
1923
vc->vc_uni_lines = NULL;
drivers/tty/vt/vt.c
1924
vc->vc_saved_rows = vc->vc_rows;
drivers/tty/vt/vt.c
1925
vc->vc_saved_cols = vc->vc_cols;
drivers/tty/vt/vt.c
1926
save_cur(vc);
drivers/tty/vt/vt.c
1928
csi_J(vc, CSI_J_FULL);
drivers/tty/vt/vt.c
1932
static void leave_alt_screen(struct vc_data *vc)
drivers/tty/vt/vt.c
1934
unsigned int rows = min(vc->vc_saved_rows, vc->vc_rows);
drivers/tty/vt/vt.c
1935
unsigned int cols = min(vc->vc_saved_cols, vc->vc_cols);
drivers/tty/vt/vt.c
1938
if (vc->vc_saved_screen == NULL)
drivers/tty/vt/vt.c
1941
src = vc->vc_saved_screen + r * vc->vc_saved_cols;
drivers/tty/vt/vt.c
1942
dest = ((u16 *)vc->vc_origin) + r * vc->vc_cols;
drivers/tty/vt/vt.c
1952
if (vc->vc_saved_uni_lines &&
drivers/tty/vt/vt.c
1953
(vc->vc_saved_rows != vc->vc_rows ||
drivers/tty/vt/vt.c
1954
vc->vc_saved_cols != vc->vc_cols)) {
drivers/tty/vt/vt.c
1955
u32 **new_uniscr = vc_uniscr_alloc(vc->vc_cols, vc->vc_rows);
drivers/tty/vt/vt.c
1958
vc_uniscr_copy_area(new_uniscr, vc->vc_cols, vc->vc_rows,
drivers/tty/vt/vt.c
1959
vc->vc_saved_uni_lines, cols, 0, rows);
drivers/tty/vt/vt.c
1960
vc_uniscr_free(vc->vc_saved_uni_lines);
drivers/tty/vt/vt.c
1961
vc->vc_saved_uni_lines = new_uniscr;
drivers/tty/vt/vt.c
1963
vc_uniscr_set(vc, vc->vc_saved_uni_lines);
drivers/tty/vt/vt.c
1964
vc->vc_saved_uni_lines = NULL;
drivers/tty/vt/vt.c
1965
restore_cur(vc);
drivers/tty/vt/vt.c
1967
if (con_should_update(vc))
drivers/tty/vt/vt.c
1968
do_update_region(vc, vc->vc_origin, vc->vc_screenbuf_size / 2);
drivers/tty/vt/vt.c
1969
kfree(vc->vc_saved_screen);
drivers/tty/vt/vt.c
1970
vc->vc_saved_screen = NULL;
drivers/tty/vt/vt.c
1988
static void csi_DEC_hl(struct vc_data *vc, bool on_off)
drivers/tty/vt/vt.c
1992
for (i = 0; i <= vc->vc_npar; i++)
drivers/tty/vt/vt.c
1993
switch (vc->vc_par[i]) {
drivers/tty/vt/vt.c
1996
set_kbd(vc, decckm);
drivers/tty/vt/vt.c
1998
clr_kbd(vc, decckm);
drivers/tty/vt/vt.c
2002
vc_resize(deccolm ? 132 : 80, vc->vc_rows);
drivers/tty/vt/vt.c
2008
if (vc->vc_decscnm != on_off) {
drivers/tty/vt/vt.c
2009
vc->vc_decscnm = on_off;
drivers/tty/vt/vt.c
2010
invert_screen(vc, 0, vc->vc_screenbuf_size,
drivers/tty/vt/vt.c
2012
update_attr(vc);
drivers/tty/vt/vt.c
2016
vc->vc_decom = on_off;
drivers/tty/vt/vt.c
2017
gotoxay(vc, 0, 0);
drivers/tty/vt/vt.c
2020
vc->vc_decawm = on_off;
drivers/tty/vt/vt.c
2024
set_kbd(vc, decarm);
drivers/tty/vt/vt.c
2026
clr_kbd(vc, decarm);
drivers/tty/vt/vt.c
2029
vc->vc_report_mouse = on_off ? 1 : 0;
drivers/tty/vt/vt.c
2032
vc->vc_deccm = on_off;
drivers/tty/vt/vt.c
2035
vc->vc_report_mouse = on_off ? 2 : 0;
drivers/tty/vt/vt.c
2038
vc->vc_bracketed_paste = on_off;
drivers/tty/vt/vt.c
2042
enter_alt_screen(vc);
drivers/tty/vt/vt.c
2044
leave_alt_screen(vc);
drivers/tty/vt/vt.c
2056
static void csi_hl(struct vc_data *vc, bool on_off)
drivers/tty/vt/vt.c
2060
for (i = 0; i <= vc->vc_npar; i++)
drivers/tty/vt/vt.c
2061
switch (vc->vc_par[i]) { /* ANSI modes set/reset */
drivers/tty/vt/vt.c
2063
vc->vc_disp_ctrl = on_off;
drivers/tty/vt/vt.c
2066
vc->vc_decim = on_off;
drivers/tty/vt/vt.c
2070
set_kbd(vc, lnm);
drivers/tty/vt/vt.c
2072
clr_kbd(vc, lnm);
drivers/tty/vt/vt.c
2098
static void csi_RSB(struct vc_data *vc)
drivers/tty/vt/vt.c
2100
switch (vc->vc_par[0]) {
drivers/tty/vt/vt.c
2102
if (vc->vc_can_do_color && vc->vc_par[1] < 16) {
drivers/tty/vt/vt.c
2103
vc->vc_ulcolor = color_table[vc->vc_par[1]];
drivers/tty/vt/vt.c
2104
if (vc->state.underline)
drivers/tty/vt/vt.c
2105
update_attr(vc);
drivers/tty/vt/vt.c
2109
if (vc->vc_can_do_color && vc->vc_par[1] < 16) {
drivers/tty/vt/vt.c
2110
vc->vc_halfcolor = color_table[vc->vc_par[1]];
drivers/tty/vt/vt.c
2111
if (vc->state.intensity == VCI_HALF_BRIGHT)
drivers/tty/vt/vt.c
2112
update_attr(vc);
drivers/tty/vt/vt.c
2116
vc->vc_def_color = vc->vc_attr;
drivers/tty/vt/vt.c
2117
if (vc->vc_hi_font_mask == 0x100)
drivers/tty/vt/vt.c
2118
vc->vc_def_color >>= 1;
drivers/tty/vt/vt.c
2119
default_attr(vc);
drivers/tty/vt/vt.c
2120
update_attr(vc);
drivers/tty/vt/vt.c
2123
blankinterval = min(vc->vc_par[1], 60U) * 60;
drivers/tty/vt/vt.c
2127
if (vc->vc_npar >= 1)
drivers/tty/vt/vt.c
2128
vc->vc_bell_pitch = vc->vc_par[1];
drivers/tty/vt/vt.c
2130
vc->vc_bell_pitch = DEFAULT_BELL_PITCH;
drivers/tty/vt/vt.c
2133
if (vc->vc_npar >= 1)
drivers/tty/vt/vt.c
2134
vc->vc_bell_duration = (vc->vc_par[1] < 2000) ?
drivers/tty/vt/vt.c
2135
msecs_to_jiffies(vc->vc_par[1]) : 0;
drivers/tty/vt/vt.c
2137
vc->vc_bell_duration = DEFAULT_BELL_DURATION;
drivers/tty/vt/vt.c
2140
if (vc->vc_par[1] >= 1 && vc_cons_allocated(vc->vc_par[1] - 1))
drivers/tty/vt/vt.c
2141
set_console(vc->vc_par[1] - 1);
drivers/tty/vt/vt.c
2147
vesa_off_interval = min(vc->vc_par[1], 60U) * 60 * HZ;
drivers/tty/vt/vt.c
2153
if (vc->vc_npar >= 1 && vc->vc_par[1] >= 50 &&
drivers/tty/vt/vt.c
2154
vc->vc_par[1] <= USHRT_MAX)
drivers/tty/vt/vt.c
2155
vc->vc_cur_blink_ms = vc->vc_par[1];
drivers/tty/vt/vt.c
2157
vc->vc_cur_blink_ms = DEFAULT_CURSOR_BLINK_MS;
drivers/tty/vt/vt.c
2163
static void csi_at(struct vc_data *vc, unsigned int nr)
drivers/tty/vt/vt.c
2165
nr = clamp(nr, 1, vc->vc_cols - vc->state.x);
drivers/tty/vt/vt.c
2166
insert_char(vc, nr);
drivers/tty/vt/vt.c
2170
static void csi_L(struct vc_data *vc)
drivers/tty/vt/vt.c
2172
unsigned int nr = clamp(vc->vc_par[0], 1, vc->vc_rows - vc->state.y);
drivers/tty/vt/vt.c
2174
con_scroll(vc, vc->state.y, vc->vc_bottom, SM_DOWN, nr);
drivers/tty/vt/vt.c
2175
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
2179
static void csi_P(struct vc_data *vc)
drivers/tty/vt/vt.c
2181
unsigned int nr = clamp(vc->vc_par[0], 1, vc->vc_cols - vc->state.x);
drivers/tty/vt/vt.c
2183
delete_char(vc, nr);
drivers/tty/vt/vt.c
2187
static void csi_M(struct vc_data *vc)
drivers/tty/vt/vt.c
2189
unsigned int nr = clamp(vc->vc_par[0], 1, vc->vc_rows - vc->state.y);
drivers/tty/vt/vt.c
2191
con_scroll(vc, vc->state.y, vc->vc_bottom, SM_UP, nr);
drivers/tty/vt/vt.c
2192
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
2196
static void save_cur(struct vc_data *vc)
drivers/tty/vt/vt.c
2198
memcpy(&vc->saved_state, &vc->state, sizeof(vc->state));
drivers/tty/vt/vt.c
2202
static void restore_cur(struct vc_data *vc)
drivers/tty/vt/vt.c
2204
memcpy(&vc->state, &vc->saved_state, sizeof(vc->state));
drivers/tty/vt/vt.c
2206
gotoxy(vc, vc->state.x, vc->state.y);
drivers/tty/vt/vt.c
2207
vc->vc_translate = set_translate(vc->state.Gx_charset[vc->state.charset],
drivers/tty/vt/vt.c
2208
vc);
drivers/tty/vt/vt.c
2209
update_attr(vc);
drivers/tty/vt/vt.c
2210
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
2259
static void reset_terminal(struct vc_data *vc, int do_clear)
drivers/tty/vt/vt.c
2263
vc->vc_top = 0;
drivers/tty/vt/vt.c
2264
vc->vc_bottom = vc->vc_rows;
drivers/tty/vt/vt.c
2265
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2266
vc->vc_priv = EPecma;
drivers/tty/vt/vt.c
2267
vc->vc_translate = set_translate(LAT1_MAP, vc);
drivers/tty/vt/vt.c
2268
vc->state.Gx_charset[0] = LAT1_MAP;
drivers/tty/vt/vt.c
2269
vc->state.Gx_charset[1] = GRAF_MAP;
drivers/tty/vt/vt.c
2270
vc->state.charset = 0;
drivers/tty/vt/vt.c
2271
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
2272
vc->vc_report_mouse = 0;
drivers/tty/vt/vt.c
2273
vc->vc_bracketed_paste = 0;
drivers/tty/vt/vt.c
2274
vc->vc_utf = default_utf8;
drivers/tty/vt/vt.c
2275
vc->vc_utf_count = 0;
drivers/tty/vt/vt.c
2277
vc->vc_disp_ctrl = 0;
drivers/tty/vt/vt.c
2278
vc->vc_toggle_meta = 0;
drivers/tty/vt/vt.c
2280
vc->vc_decscnm = 0;
drivers/tty/vt/vt.c
2281
vc->vc_decom = 0;
drivers/tty/vt/vt.c
2282
vc->vc_decawm = 1;
drivers/tty/vt/vt.c
2283
vc->vc_deccm = global_cursor_default;
drivers/tty/vt/vt.c
2284
vc->vc_decim = 0;
drivers/tty/vt/vt.c
2286
if (vc->vc_saved_screen != NULL) {
drivers/tty/vt/vt.c
2287
kfree(vc->vc_saved_screen);
drivers/tty/vt/vt.c
2288
vc->vc_saved_screen = NULL;
drivers/tty/vt/vt.c
2289
vc_uniscr_free(vc->vc_saved_uni_lines);
drivers/tty/vt/vt.c
2290
vc->vc_saved_uni_lines = NULL;
drivers/tty/vt/vt.c
2291
vc->vc_saved_rows = 0;
drivers/tty/vt/vt.c
2292
vc->vc_saved_cols = 0;
drivers/tty/vt/vt.c
2295
vt_reset_keyboard(vc->vc_num);
drivers/tty/vt/vt.c
2297
vc->vc_cursor_type = cur_default;
drivers/tty/vt/vt.c
2298
vc->vc_complement_mask = vc->vc_s_complement_mask;
drivers/tty/vt/vt.c
2300
default_attr(vc);
drivers/tty/vt/vt.c
2301
update_attr(vc);
drivers/tty/vt/vt.c
2303
bitmap_zero(vc->vc_tab_stop, VC_TABSTOPS_COUNT);
drivers/tty/vt/vt.c
2305
set_bit(i, vc->vc_tab_stop);
drivers/tty/vt/vt.c
2307
vc->vc_bell_pitch = DEFAULT_BELL_PITCH;
drivers/tty/vt/vt.c
2308
vc->vc_bell_duration = DEFAULT_BELL_DURATION;
drivers/tty/vt/vt.c
2309
vc->vc_cur_blink_ms = DEFAULT_CURSOR_BLINK_MS;
drivers/tty/vt/vt.c
2311
gotoxy(vc, 0, 0);
drivers/tty/vt/vt.c
2312
save_cur(vc);
drivers/tty/vt/vt.c
2314
csi_J(vc, CSI_J_VISIBLE);
drivers/tty/vt/vt.c
2317
static void vc_setGx(struct vc_data *vc, unsigned int which, u8 c)
drivers/tty/vt/vt.c
2319
unsigned char *charset = &vc->state.Gx_charset[which];
drivers/tty/vt/vt.c
2336
if (vc->state.charset == which)
drivers/tty/vt/vt.c
2337
vc->vc_translate = set_translate(*charset, vc);
drivers/tty/vt/vt.c
2373
static bool handle_ascii(struct tty_struct *tty, struct vc_data *vc, u8 c)
drivers/tty/vt/vt.c
2379
if (ansi_control_string(vc->vc_state))
drivers/tty/vt/vt.c
2380
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2381
else if (vc->vc_bell_duration)
drivers/tty/vt/vt.c
2382
kd_mksound(vc->vc_bell_pitch, vc->vc_bell_duration);
drivers/tty/vt/vt.c
2385
bs(vc);
drivers/tty/vt/vt.c
2388
vc->vc_pos -= (vc->state.x << 1);
drivers/tty/vt/vt.c
2390
vc->state.x = find_next_bit(vc->vc_tab_stop,
drivers/tty/vt/vt.c
2391
min(vc->vc_cols - 1, VC_TABSTOPS_COUNT),
drivers/tty/vt/vt.c
2392
vc->state.x + 1);
drivers/tty/vt/vt.c
2393
if (vc->state.x >= VC_TABSTOPS_COUNT)
drivers/tty/vt/vt.c
2394
vc->state.x = vc->vc_cols - 1;
drivers/tty/vt/vt.c
2396
vc->vc_pos += (vc->state.x << 1);
drivers/tty/vt/vt.c
2397
notify_write(vc, '\t');
drivers/tty/vt/vt.c
2402
lf(vc);
drivers/tty/vt/vt.c
2403
if (!is_kbd(vc, lnm))
drivers/tty/vt/vt.c
2407
cr(vc);
drivers/tty/vt/vt.c
2410
vc->state.charset = 1;
drivers/tty/vt/vt.c
2411
vc->vc_translate = set_translate(vc->state.Gx_charset[1], vc);
drivers/tty/vt/vt.c
2412
vc->vc_disp_ctrl = 1;
drivers/tty/vt/vt.c
2415
vc->state.charset = 0;
drivers/tty/vt/vt.c
2416
vc->vc_translate = set_translate(vc->state.Gx_charset[0], vc);
drivers/tty/vt/vt.c
2417
vc->vc_disp_ctrl = 0;
drivers/tty/vt/vt.c
2421
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2424
vc->vc_state = ESesc;
drivers/tty/vt/vt.c
2427
del(vc);
drivers/tty/vt/vt.c
2430
vc->vc_state = ESsquare;
drivers/tty/vt/vt.c
2442
static void handle_esc(struct tty_struct *tty, struct vc_data *vc, u8 c)
drivers/tty/vt/vt.c
2444
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2447
vc->vc_state = ESsquare;
drivers/tty/vt/vt.c
2450
vc->vc_state = ESnonstd;
drivers/tty/vt/vt.c
2453
vc->vc_state = ESapc;
drivers/tty/vt/vt.c
2456
vc->vc_state = ESpm;
drivers/tty/vt/vt.c
2459
vc->vc_state = ESpercent;
drivers/tty/vt/vt.c
2462
cr(vc);
drivers/tty/vt/vt.c
2463
lf(vc);
drivers/tty/vt/vt.c
2466
ri(vc);
drivers/tty/vt/vt.c
2469
lf(vc);
drivers/tty/vt/vt.c
2472
if (vc->state.x < VC_TABSTOPS_COUNT)
drivers/tty/vt/vt.c
2473
set_bit(vc->state.x, vc->vc_tab_stop);
drivers/tty/vt/vt.c
2476
vc->vc_state = ESdcs;
drivers/tty/vt/vt.c
2482
save_cur(vc);
drivers/tty/vt/vt.c
2485
restore_cur(vc);
drivers/tty/vt/vt.c
2488
vc->vc_state = ESsetG0;
drivers/tty/vt/vt.c
2491
vc->vc_state = ESsetG1;
drivers/tty/vt/vt.c
2494
vc->vc_state = EShash;
drivers/tty/vt/vt.c
2497
reset_terminal(vc, 1);
drivers/tty/vt/vt.c
2500
clr_kbd(vc, kbdapplic);
drivers/tty/vt/vt.c
2503
set_kbd(vc, kbdapplic);
drivers/tty/vt/vt.c
2512
static void csi_DEC(struct tty_struct *tty, struct vc_data *vc, u8 c)
drivers/tty/vt/vt.c
2516
csi_DEC_hl(vc, true);
drivers/tty/vt/vt.c
2519
csi_DEC_hl(vc, false);
drivers/tty/vt/vt.c
2522
if (vc->vc_par[0])
drivers/tty/vt/vt.c
2523
vc->vc_cursor_type = CUR_MAKE(vc->vc_par[0],
drivers/tty/vt/vt.c
2524
vc->vc_par[1],
drivers/tty/vt/vt.c
2525
vc->vc_par[2]);
drivers/tty/vt/vt.c
2527
vc->vc_cursor_type = cur_default;
drivers/tty/vt/vt.c
2531
if (vc->vc_par[0])
drivers/tty/vt/vt.c
2532
vc->vc_complement_mask = vc->vc_par[0] << 8 | vc->vc_par[1];
drivers/tty/vt/vt.c
2534
vc->vc_complement_mask = vc->vc_s_complement_mask;
drivers/tty/vt/vt.c
2537
if (vc->vc_par[0] == 5)
drivers/tty/vt/vt.c
2539
else if (vc->vc_par[0] == 6)
drivers/tty/vt/vt.c
2540
cursor_report(vc, tty);
drivers/tty/vt/vt.c
2550
static void csi_ECMA(struct tty_struct *tty, struct vc_data *vc, u8 c)
drivers/tty/vt/vt.c
2555
if (vc->vc_par[0])
drivers/tty/vt/vt.c
2556
vc->vc_par[0]--;
drivers/tty/vt/vt.c
2557
gotoxy(vc, vc->vc_par[0], vc->state.y);
drivers/tty/vt/vt.c
2560
if (!vc->vc_par[0])
drivers/tty/vt/vt.c
2561
vc->vc_par[0]++;
drivers/tty/vt/vt.c
2562
gotoxy(vc, vc->state.x, vc->state.y - vc->vc_par[0]);
drivers/tty/vt/vt.c
2566
if (!vc->vc_par[0])
drivers/tty/vt/vt.c
2567
vc->vc_par[0]++;
drivers/tty/vt/vt.c
2568
gotoxy(vc, vc->state.x, vc->state.y + vc->vc_par[0]);
drivers/tty/vt/vt.c
2572
if (!vc->vc_par[0])
drivers/tty/vt/vt.c
2573
vc->vc_par[0]++;
drivers/tty/vt/vt.c
2574
gotoxy(vc, vc->state.x + vc->vc_par[0], vc->state.y);
drivers/tty/vt/vt.c
2577
if (!vc->vc_par[0])
drivers/tty/vt/vt.c
2578
vc->vc_par[0]++;
drivers/tty/vt/vt.c
2579
gotoxy(vc, vc->state.x - vc->vc_par[0], vc->state.y);
drivers/tty/vt/vt.c
2582
if (!vc->vc_par[0])
drivers/tty/vt/vt.c
2583
vc->vc_par[0]++;
drivers/tty/vt/vt.c
2584
gotoxy(vc, 0, vc->state.y + vc->vc_par[0]);
drivers/tty/vt/vt.c
2587
if (!vc->vc_par[0])
drivers/tty/vt/vt.c
2588
vc->vc_par[0]++;
drivers/tty/vt/vt.c
2589
gotoxy(vc, 0, vc->state.y - vc->vc_par[0]);
drivers/tty/vt/vt.c
2592
if (vc->vc_par[0])
drivers/tty/vt/vt.c
2593
vc->vc_par[0]--;
drivers/tty/vt/vt.c
2594
gotoxay(vc, vc->state.x ,vc->vc_par[0]);
drivers/tty/vt/vt.c
2598
if (vc->vc_par[0])
drivers/tty/vt/vt.c
2599
vc->vc_par[0]--;
drivers/tty/vt/vt.c
2600
if (vc->vc_par[1])
drivers/tty/vt/vt.c
2601
vc->vc_par[1]--;
drivers/tty/vt/vt.c
2602
gotoxay(vc, vc->vc_par[1], vc->vc_par[0]);
drivers/tty/vt/vt.c
2605
csi_J(vc, vc->vc_par[0]);
drivers/tty/vt/vt.c
2608
csi_K(vc);
drivers/tty/vt/vt.c
2611
csi_L(vc);
drivers/tty/vt/vt.c
2614
csi_M(vc);
drivers/tty/vt/vt.c
2617
csi_P(vc);
drivers/tty/vt/vt.c
2620
if (!vc->vc_par[0])
drivers/tty/vt/vt.c
2624
if (!vc->vc_par[0] && vc->state.x < VC_TABSTOPS_COUNT)
drivers/tty/vt/vt.c
2625
set_bit(vc->state.x, vc->vc_tab_stop);
drivers/tty/vt/vt.c
2626
else if (vc->vc_par[0] == 3)
drivers/tty/vt/vt.c
2627
bitmap_zero(vc->vc_tab_stop, VC_TABSTOPS_COUNT);
drivers/tty/vt/vt.c
2630
csi_hl(vc, true);
drivers/tty/vt/vt.c
2633
csi_hl(vc, false);
drivers/tty/vt/vt.c
2636
csi_m(vc);
drivers/tty/vt/vt.c
2639
if (vc->vc_par[0] == 5)
drivers/tty/vt/vt.c
2641
else if (vc->vc_par[0] == 6)
drivers/tty/vt/vt.c
2642
cursor_report(vc, tty);
drivers/tty/vt/vt.c
2646
if (vc->vc_par[0] < 4)
drivers/tty/vt/vt.c
2647
vt_set_led_state(vc->vc_num,
drivers/tty/vt/vt.c
2648
(vc->vc_par[0] < 3) ? vc->vc_par[0] : 4);
drivers/tty/vt/vt.c
2651
if (!vc->vc_par[0])
drivers/tty/vt/vt.c
2652
vc->vc_par[0]++;
drivers/tty/vt/vt.c
2653
if (!vc->vc_par[1])
drivers/tty/vt/vt.c
2654
vc->vc_par[1] = vc->vc_rows;
drivers/tty/vt/vt.c
2656
if (vc->vc_par[0] < vc->vc_par[1] &&
drivers/tty/vt/vt.c
2657
vc->vc_par[1] <= vc->vc_rows) {
drivers/tty/vt/vt.c
2658
vc->vc_top = vc->vc_par[0] - 1;
drivers/tty/vt/vt.c
2659
vc->vc_bottom = vc->vc_par[1];
drivers/tty/vt/vt.c
2660
gotoxay(vc, 0, 0);
drivers/tty/vt/vt.c
2664
save_cur(vc);
drivers/tty/vt/vt.c
2667
restore_cur(vc);
drivers/tty/vt/vt.c
2670
csi_X(vc);
drivers/tty/vt/vt.c
2673
csi_at(vc, vc->vc_par[0]);
drivers/tty/vt/vt.c
2676
csi_RSB(vc);
drivers/tty/vt/vt.c
2682
static void vc_reset_params(struct vc_data *vc)
drivers/tty/vt/vt.c
2684
memset(vc->vc_par, 0, sizeof(vc->vc_par));
drivers/tty/vt/vt.c
2685
vc->vc_npar = 0;
drivers/tty/vt/vt.c
2689
static void do_con_trol(struct tty_struct *tty, struct vc_data *vc, u8 c)
drivers/tty/vt/vt.c
2695
if (ansi_control_string(vc->vc_state) && c >= ASCII_IGNORE_FIRST &&
drivers/tty/vt/vt.c
2699
if (handle_ascii(tty, vc, c))
drivers/tty/vt/vt.c
2702
switch(vc->vc_state) {
drivers/tty/vt/vt.c
2704
handle_esc(tty, vc, c);
drivers/tty/vt/vt.c
2709
vc_reset_params(vc);
drivers/tty/vt/vt.c
2710
vc->vc_state = ESpalette;
drivers/tty/vt/vt.c
2713
reset_palette(vc);
drivers/tty/vt/vt.c
2716
vc->vc_state = ESosc;
drivers/tty/vt/vt.c
2719
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2723
vc->vc_par[vc->vc_npar++] = hex_to_bin(c);
drivers/tty/vt/vt.c
2724
if (vc->vc_npar == 7) {
drivers/tty/vt/vt.c
2725
int i = vc->vc_par[0] * 3, j = 1;
drivers/tty/vt/vt.c
2726
vc->vc_palette[i] = 16 * vc->vc_par[j++];
drivers/tty/vt/vt.c
2727
vc->vc_palette[i++] += vc->vc_par[j++];
drivers/tty/vt/vt.c
2728
vc->vc_palette[i] = 16 * vc->vc_par[j++];
drivers/tty/vt/vt.c
2729
vc->vc_palette[i++] += vc->vc_par[j++];
drivers/tty/vt/vt.c
2730
vc->vc_palette[i] = 16 * vc->vc_par[j++];
drivers/tty/vt/vt.c
2731
vc->vc_palette[i] += vc->vc_par[j];
drivers/tty/vt/vt.c
2732
set_palette(vc);
drivers/tty/vt/vt.c
2733
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2736
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2739
vc_reset_params(vc);
drivers/tty/vt/vt.c
2741
vc->vc_state = ESgetpars;
drivers/tty/vt/vt.c
2744
vc->vc_state = ESfunckey;
drivers/tty/vt/vt.c
2747
vc->vc_priv = EPdec;
drivers/tty/vt/vt.c
2750
vc->vc_priv = EPgt;
drivers/tty/vt/vt.c
2753
vc->vc_priv = EPeq;
drivers/tty/vt/vt.c
2756
vc->vc_priv = EPlt;
drivers/tty/vt/vt.c
2759
vc->vc_priv = EPecma;
drivers/tty/vt/vt.c
2764
if (vc->vc_par[vc->vc_npar] == CSI_m_FG_COLOR ||
drivers/tty/vt/vt.c
2765
vc->vc_par[vc->vc_npar] == CSI_m_BG_COLOR ||
drivers/tty/vt/vt.c
2766
vc->vc_par[vc->vc_npar] == CSI_m_UNDERLINE_COLOR)
drivers/tty/vt/vt.c
2767
vc->vc_state = ESgetsubpars;
drivers/tty/vt/vt.c
2772
if (vc->vc_npar < NPAR - 1) {
drivers/tty/vt/vt.c
2773
vc->vc_npar++;
drivers/tty/vt/vt.c
2778
vc->vc_par[vc->vc_npar] *= 10;
drivers/tty/vt/vt.c
2779
vc->vc_par[vc->vc_npar] += c - '0';
drivers/tty/vt/vt.c
2783
vc->vc_state = EScsiignore;
drivers/tty/vt/vt.c
2789
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2791
switch (vc->vc_priv) {
drivers/tty/vt/vt.c
2793
csi_DEC(tty, vc, c);
drivers/tty/vt/vt.c
2796
csi_ECMA(tty, vc, c);
drivers/tty/vt/vt.c
2805
if (vc->vc_npar < NPAR - 1) {
drivers/tty/vt/vt.c
2806
vc->vc_npar++;
drivers/tty/vt/vt.c
2811
vc->vc_par[vc->vc_npar] *= 10;
drivers/tty/vt/vt.c
2812
vc->vc_par[vc->vc_npar] += c - '0';
drivers/tty/vt/vt.c
2816
vc->vc_state = EScsiignore;
drivers/tty/vt/vt.c
2822
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2824
switch (vc->vc_priv) {
drivers/tty/vt/vt.c
2826
csi_DEC(tty, vc, c);
drivers/tty/vt/vt.c
2829
csi_ECMA(tty, vc, c);
drivers/tty/vt/vt.c
2837
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2840
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2843
vc->vc_utf = 0;
drivers/tty/vt/vt.c
2847
vc->vc_utf = 1;
drivers/tty/vt/vt.c
2852
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2855
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2858
vc->vc_video_erase_char =
drivers/tty/vt/vt.c
2859
(vc->vc_video_erase_char & 0xff00) | 'E';
drivers/tty/vt/vt.c
2860
csi_J(vc, CSI_J_VISIBLE);
drivers/tty/vt/vt.c
2861
vc->vc_video_erase_char =
drivers/tty/vt/vt.c
2862
(vc->vc_video_erase_char & 0xff00) | ' ';
drivers/tty/vt/vt.c
2863
do_update_region(vc, vc->vc_origin, vc->vc_screenbuf_size / 2);
drivers/tty/vt/vt.c
2867
vc_setGx(vc, 0, c);
drivers/tty/vt/vt.c
2868
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2871
vc_setGx(vc, 1, c);
drivers/tty/vt/vt.c
2872
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2883
vc->vc_state = ESnormal;
drivers/tty/vt/vt.c
2892
static void con_flush(struct vc_data *vc, struct vc_draw_region *draw)
drivers/tty/vt/vt.c
2897
vc->vc_sw->con_putcs(vc, (u16 *)draw->from,
drivers/tty/vt/vt.c
2898
(u16 *)draw->to - (u16 *)draw->from, vc->state.y,
drivers/tty/vt/vt.c
2903
static inline int vc_translate_ascii(const struct vc_data *vc, int c)
drivers/tty/vt/vt.c
2906
if (vc->vc_toggle_meta)
drivers/tty/vt/vt.c
2909
return vc->vc_translate[c];
drivers/tty/vt/vt.c
292
static void notify_write(struct vc_data *vc, unsigned int unicode)
drivers/tty/vt/vt.c
294
struct vt_notifier_param param = { .vc = vc, .c = unicode };
drivers/tty/vt/vt.c
2947
static int vc_translate_unicode(struct vc_data *vc, int c, bool *rescan)
drivers/tty/vt/vt.c
2954
if (!vc->vc_utf_count)
drivers/tty/vt/vt.c
2957
vc->vc_utf_char = (vc->vc_utf_char << 6) | (c & 0x3f);
drivers/tty/vt/vt.c
2958
vc->vc_npar++;
drivers/tty/vt/vt.c
2959
if (--vc->vc_utf_count)
drivers/tty/vt/vt.c
2963
c = vc->vc_utf_char;
drivers/tty/vt/vt.c
2965
if (c <= utf8_length_changes[vc->vc_npar - 1] ||
drivers/tty/vt/vt.c
2966
c > utf8_length_changes[vc->vc_npar])
drivers/tty/vt/vt.c
2973
if (vc->vc_utf_count) {
drivers/tty/vt/vt.c
2976
vc->vc_utf_count = 0;
drivers/tty/vt/vt.c
298
static void notify_update(struct vc_data *vc)
drivers/tty/vt/vt.c
2985
vc->vc_npar = 0;
drivers/tty/vt/vt.c
2987
vc->vc_utf_count = 1;
drivers/tty/vt/vt.c
2988
vc->vc_utf_char = (c & 0x1f);
drivers/tty/vt/vt.c
2990
vc->vc_utf_count = 2;
drivers/tty/vt/vt.c
2991
vc->vc_utf_char = (c & 0x0f);
drivers/tty/vt/vt.c
2993
vc->vc_utf_count = 3;
drivers/tty/vt/vt.c
2994
vc->vc_utf_char = (c & 0x07);
drivers/tty/vt/vt.c
300
struct vt_notifier_param param = { .vc = vc };
drivers/tty/vt/vt.c
3006
static int vc_translate(struct vc_data *vc, int *c, bool *rescan)
drivers/tty/vt/vt.c
3009
if (vc->vc_state != ESnormal)
drivers/tty/vt/vt.c
3012
if (vc->vc_utf && !vc->vc_disp_ctrl)
drivers/tty/vt/vt.c
3013
return *c = vc_translate_unicode(vc, *c, rescan);
drivers/tty/vt/vt.c
3016
return vc_translate_ascii(vc, *c);
drivers/tty/vt/vt.c
3019
static inline unsigned char vc_invert_attr(const struct vc_data *vc)
drivers/tty/vt/vt.c
3021
if (!vc->vc_can_do_color)
drivers/tty/vt/vt.c
3022
return vc->vc_attr ^ 0x08;
drivers/tty/vt/vt.c
3024
if (vc->vc_hi_font_mask == 0x100)
drivers/tty/vt/vt.c
3025
return (vc->vc_attr & 0x11) |
drivers/tty/vt/vt.c
3026
((vc->vc_attr & 0xe0) >> 4) |
drivers/tty/vt/vt.c
3027
((vc->vc_attr & 0x0e) << 4);
drivers/tty/vt/vt.c
3029
return (vc->vc_attr & 0x88) |
drivers/tty/vt/vt.c
3030
((vc->vc_attr & 0x70) >> 4) |
drivers/tty/vt/vt.c
3031
((vc->vc_attr & 0x07) << 4);
drivers/tty/vt/vt.c
3034
static bool vc_is_control(struct vc_data *vc, int tc, int c)
drivers/tty/vt/vt.c
3050
if (vc->vc_state != ESnormal)
drivers/tty/vt/vt.c
3066
if (vc->vc_disp_ctrl)
drivers/tty/vt/vt.c
3069
return vc->vc_utf || (CTRL_ACTION & BIT(c));
drivers/tty/vt/vt.c
307
static inline bool con_is_fg(const struct vc_data *vc)
drivers/tty/vt/vt.c
3072
if (c == ASCII_DEL && !vc->vc_disp_ctrl)
drivers/tty/vt/vt.c
3081
static void vc_con_rewind(struct vc_data *vc)
drivers/tty/vt/vt.c
3083
if (vc->state.x && !vc->vc_need_wrap) {
drivers/tty/vt/vt.c
3084
vc->vc_pos -= 2;
drivers/tty/vt/vt.c
3085
vc->state.x--;
drivers/tty/vt/vt.c
3087
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
309
return vc->vc_num == fg_console;
drivers/tty/vt/vt.c
3094
static int vc_process_ucs(struct vc_data *vc, int *c, int *tc)
drivers/tty/vt/vt.c
3108
vc_uniscr_check(vc);
drivers/tty/vt/vt.c
3114
if (ucs_get_width(vc_uniscr_getc(vc, -2)) == 2) {
drivers/tty/vt/vt.c
312
static inline bool con_should_update(const struct vc_data *vc)
drivers/tty/vt/vt.c
3122
vc_con_rewind(vc);
drivers/tty/vt/vt.c
3128
prev_c = vc_uniscr_getc(vc, -1);
drivers/tty/vt/vt.c
314
return con_is_visible(vc) && !console_blanked;
drivers/tty/vt/vt.c
3144
vc_con_rewind(vc);
drivers/tty/vt/vt.c
3153
static int vc_get_glyph(struct vc_data *vc, int tc)
drivers/tty/vt/vt.c
3155
int glyph = conv_uni_to_pc(vc, tc);
drivers/tty/vt/vt.c
3156
u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/tty/vt/vt.c
3165
if ((!vc->vc_utf || vc->vc_disp_ctrl || tc < 128) && !(tc & ~charmask)) {
drivers/tty/vt/vt.c
317
static inline u16 *screenpos(const struct vc_data *vc, unsigned int offset,
drivers/tty/vt/vt.c
3181
vc_uniscr_check(vc);
drivers/tty/vt/vt.c
3186
return vc_get_glyph(vc, tc);
drivers/tty/vt/vt.c
3189
return conv_uni_to_pc(vc, UCS_REPLACEMENT);
drivers/tty/vt/vt.c
3192
static int vc_con_write_normal(struct vc_data *vc, int tc, int c,
drivers/tty/vt/vt.c
3196
unsigned char vc_attr = vc->vc_attr;
drivers/tty/vt/vt.c
3197
u16 himask = vc->vc_hi_font_mask;
drivers/tty/vt/vt.c
320
unsigned long origin = viewed ? vc->vc_visible_origin : vc->vc_origin;
drivers/tty/vt/vt.c
3201
if (vc->vc_utf && !vc->vc_disp_ctrl) {
drivers/tty/vt/vt.c
3202
width = vc_process_ucs(vc, &c, &tc);
drivers/tty/vt/vt.c
3208
tc = vc_get_glyph(vc, tc);
drivers/tty/vt/vt.c
3213
tc = conv_uni_to_pc(vc, '?');
drivers/tty/vt/vt.c
3217
vc_attr = vc_invert_attr(vc);
drivers/tty/vt/vt.c
3218
con_flush(vc, draw);
drivers/tty/vt/vt.c
3223
if (vc->vc_need_wrap || vc->vc_decim)
drivers/tty/vt/vt.c
3224
con_flush(vc, draw);
drivers/tty/vt/vt.c
3225
if (vc->vc_need_wrap) {
drivers/tty/vt/vt.c
3226
cr(vc);
drivers/tty/vt/vt.c
3227
lf(vc);
drivers/tty/vt/vt.c
3229
if (vc->vc_decim)
drivers/tty/vt/vt.c
3230
insert_char(vc, 1);
drivers/tty/vt/vt.c
3231
vc_uniscr_putc(vc, next_c);
drivers/tty/vt/vt.c
3238
scr_writew(tc, (u16 *)vc->vc_pos);
drivers/tty/vt/vt.c
3240
if (con_should_update(vc) && draw->x < 0) {
drivers/tty/vt/vt.c
3241
draw->x = vc->state.x;
drivers/tty/vt/vt.c
3242
draw->from = vc->vc_pos;
drivers/tty/vt/vt.c
3244
if (vc->state.x == vc->vc_cols - 1) {
drivers/tty/vt/vt.c
3245
vc->vc_need_wrap = vc->vc_decawm;
drivers/tty/vt/vt.c
3246
draw->to = vc->vc_pos + 2;
drivers/tty/vt/vt.c
3248
vc->state.x++;
drivers/tty/vt/vt.c
3249
draw->to = (vc->vc_pos += 2);
drivers/tty/vt/vt.c
325
static void con_putc(struct vc_data *vc, u16 ca, unsigned int y, unsigned int x)
drivers/tty/vt/vt.c
3256
tc = conv_uni_to_pc(vc, ' ');
drivers/tty/vt/vt.c
3267
notify_write(vc, c);
drivers/tty/vt/vt.c
327
if (vc->vc_sw->con_putc)
drivers/tty/vt/vt.c
3270
con_flush(vc, draw);
drivers/tty/vt/vt.c
328
vc->vc_sw->con_putc(vc, ca, y, x);
drivers/tty/vt/vt.c
3283
struct vc_data *vc = tty->driver_data;
drivers/tty/vt/vt.c
3291
currcons = vc->vc_num;
drivers/tty/vt/vt.c
330
vc->vc_sw->con_putcs(vc, &ca, 1, y, x);
drivers/tty/vt/vt.c
3300
if (con_is_fg(vc))
drivers/tty/vt/vt.c
3301
hide_cursor(vc);
drivers/tty/vt/vt.c
3303
param.vc = vc;
drivers/tty/vt/vt.c
3314
tc = vc_translate(vc, &c, &rescan);
drivers/tty/vt/vt.c
3323
if (vc_is_control(vc, tc, c)) {
drivers/tty/vt/vt.c
3324
con_flush(vc, &draw);
drivers/tty/vt/vt.c
3325
do_con_trol(tty, vc, orig);
drivers/tty/vt/vt.c
3329
if (vc_con_write_normal(vc, tc, c, &draw) < 0)
drivers/tty/vt/vt.c
3335
con_flush(vc, &draw);
drivers/tty/vt/vt.c
3336
notify_update(vc);
drivers/tty/vt/vt.c
3370
struct vc_data *vc = vc_cons[fg_console].d;
drivers/tty/vt/vt.c
3372
if (vc->vc_mode == KD_TEXT && vc->vc_sw->con_scrolldelta)
drivers/tty/vt/vt.c
3373
vc->vc_sw->con_scrolldelta(vc, scrollback_delta);
drivers/tty/vt/vt.c
3385
struct vc_data *vc = vc_cons[fg_console].d;
drivers/tty/vt/vt.c
3388
(vc->vt_mode.mode == VT_AUTO && vc->vc_mode == KD_GRAPHICS)) {
drivers/tty/vt/vt.c
3450
struct vc_data *vc = vc_cons[fg_console].d;
drivers/tty/vt/vt.c
3465
vc = vc_cons[kmsg_console - 1].d;
drivers/tty/vt/vt.c
3473
if (vc->vc_mode != KD_TEXT)
drivers/tty/vt/vt.c
3477
if (con_is_fg(vc))
drivers/tty/vt/vt.c
3478
hide_cursor(vc);
drivers/tty/vt/vt.c
3480
start = (ushort *)vc->vc_pos;
drivers/tty/vt/vt.c
3481
start_x = vc->state.x;
drivers/tty/vt/vt.c
3486
c == ASCII_BACKSPACE || vc->vc_need_wrap) {
drivers/tty/vt/vt.c
3487
if (cnt && con_is_visible(vc))
drivers/tty/vt/vt.c
3488
vc->vc_sw->con_putcs(vc, start, cnt, vc->state.y, start_x);
drivers/tty/vt/vt.c
3491
bs(vc);
drivers/tty/vt/vt.c
3492
start = (ushort *)vc->vc_pos;
drivers/tty/vt/vt.c
3493
start_x = vc->state.x;
drivers/tty/vt/vt.c
3497
lf(vc);
drivers/tty/vt/vt.c
3498
cr(vc);
drivers/tty/vt/vt.c
3499
start = (ushort *)vc->vc_pos;
drivers/tty/vt/vt.c
3500
start_x = vc->state.x;
drivers/tty/vt/vt.c
3504
vc_uniscr_putc(vc, c);
drivers/tty/vt/vt.c
3505
scr_writew((vc->vc_attr << 8) + c, (unsigned short *)vc->vc_pos);
drivers/tty/vt/vt.c
3506
notify_write(vc, c);
drivers/tty/vt/vt.c
3508
if (vc->state.x == vc->vc_cols - 1) {
drivers/tty/vt/vt.c
3509
vc->vc_need_wrap = 1;
drivers/tty/vt/vt.c
3511
vc->vc_pos += 2;
drivers/tty/vt/vt.c
3512
vc->state.x++;
drivers/tty/vt/vt.c
3515
if (cnt && con_is_visible(vc))
drivers/tty/vt/vt.c
3516
vc->vc_sw->con_putcs(vc, start, cnt, vc->state.y, start_x);
drivers/tty/vt/vt.c
3517
set_cursor(vc);
drivers/tty/vt/vt.c
3518
notify_update(vc);
drivers/tty/vt/vt.c
3690
struct vc_data *vc = tty->driver_data;
drivers/tty/vt/vt.c
3692
wake_up_interruptible(&vc->paste_wait);
drivers/tty/vt/vt.c
3725
struct vc_data *vc = tty->driver_data;
drivers/tty/vt/vt.c
3731
set_cursor(vc);
drivers/tty/vt/vt.c
3740
struct vc_data *vc;
drivers/tty/vt/vt.c
3748
vc = vc_cons[currcons].d;
drivers/tty/vt/vt.c
3751
if (vc->port.tty)
drivers/tty/vt/vt.c
3754
ret = tty_port_install(&vc->port, driver, tty);
drivers/tty/vt/vt.c
3758
tty->driver_data = vc;
drivers/tty/vt/vt.c
3759
vc->port.tty = tty;
drivers/tty/vt/vt.c
3760
tty_port_get(&vc->port);
drivers/tty/vt/vt.c
3766
if (vc->vc_utf)
drivers/tty/vt/vt.c
3788
struct vc_data *vc = tty->driver_data;
drivers/tty/vt/vt.c
3789
BUG_ON(vc == NULL);
drivers/tty/vt/vt.c
3792
vc->port.tty = NULL;
drivers/tty/vt/vt.c
3797
struct vc_data *vc = tty->driver_data;
drivers/tty/vt/vt.c
3799
tty_port_put(&vc->port);
drivers/tty/vt/vt.c
3818
static void vc_init(struct vc_data *vc, int do_clear)
drivers/tty/vt/vt.c
3822
set_origin(vc);
drivers/tty/vt/vt.c
3823
vc->vc_pos = vc->vc_origin;
drivers/tty/vt/vt.c
3824
reset_vc(vc);
drivers/tty/vt/vt.c
3826
vc->vc_palette[k++] = default_red[j] ;
drivers/tty/vt/vt.c
3827
vc->vc_palette[k++] = default_grn[j] ;
drivers/tty/vt/vt.c
3828
vc->vc_palette[k++] = default_blu[j] ;
drivers/tty/vt/vt.c
3830
vc->vc_def_color = default_color;
drivers/tty/vt/vt.c
3831
vc->vc_ulcolor = default_underline_color;
drivers/tty/vt/vt.c
3832
vc->vc_itcolor = default_italic_color;
drivers/tty/vt/vt.c
3833
vc->vc_halfcolor = 0x08; /* grey */
drivers/tty/vt/vt.c
3834
init_waitqueue_head(&vc->paste_wait);
drivers/tty/vt/vt.c
3835
reset_terminal(vc, do_clear);
drivers/tty/vt/vt.c
3847
struct vc_data *vc;
drivers/tty/vt/vt.c
385
static void vc_uniscr_set(struct vc_data *vc, u32 **new_uni_lines)
drivers/tty/vt/vt.c
387
vc_uniscr_free(vc->vc_uni_lines);
drivers/tty/vt/vt.c
388
vc->vc_uni_lines = new_uni_lines;
drivers/tty/vt/vt.c
3883
vc_cons[currcons].d = vc = kzalloc_obj(struct vc_data,
drivers/tty/vt/vt.c
3886
tty_port_init(&vc->port);
drivers/tty/vt/vt.c
3887
visual_init(vc, currcons, true);
drivers/tty/vt/vt.c
3889
vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size, GFP_NOWAIT);
drivers/tty/vt/vt.c
3890
vc_init(vc, currcons || !vc->vc_sw->con_save_screen);
drivers/tty/vt/vt.c
3893
master_display_fg = vc = vc_cons[currcons].d;
drivers/tty/vt/vt.c
3894
set_origin(vc);
drivers/tty/vt/vt.c
3895
save_screen(vc);
drivers/tty/vt/vt.c
3896
gotoxy(vc, vc->state.x, vc->state.y);
drivers/tty/vt/vt.c
3897
csi_J(vc, CSI_J_CURSOR_TO_END);
drivers/tty/vt/vt.c
3898
update_screen(vc);
drivers/tty/vt/vt.c
3900
vc->vc_can_do_color ? "colour" : "mono",
drivers/tty/vt/vt.c
3901
display_desc, vc->vc_cols, vc->vc_rows);
drivers/tty/vt/vt.c
391
static void vc_uniscr_putc(struct vc_data *vc, u32 uc)
drivers/tty/vt/vt.c
393
if (vc->vc_uni_lines)
drivers/tty/vt/vt.c
394
vc->vc_uni_lines[vc->state.y][vc->state.x] = uc;
drivers/tty/vt/vt.c
397
static void vc_uniscr_insert(struct vc_data *vc, unsigned int nr)
drivers/tty/vt/vt.c
399
if (vc->vc_uni_lines) {
drivers/tty/vt/vt.c
400
u32 *ln = vc->vc_uni_lines[vc->state.y];
drivers/tty/vt/vt.c
401
unsigned int x = vc->state.x, cols = vc->vc_cols;
drivers/tty/vt/vt.c
4034
struct vc_data *vc = vc_cons[i].d;
drivers/tty/vt/vt.c
4041
if (!vc || !vc->vc_sw)
drivers/tty/vt/vt.c
4046
if (con_is_visible(vc)) {
drivers/tty/vt/vt.c
4048
save_screen(vc);
drivers/tty/vt/vt.c
4051
old_was_color = vc->vc_can_do_color;
drivers/tty/vt/vt.c
4052
vc->vc_sw->con_deinit(vc);
drivers/tty/vt/vt.c
4053
vc->vc_origin = (unsigned long)vc->vc_screenbuf;
drivers/tty/vt/vt.c
4054
visual_init(vc, i, false);
drivers/tty/vt/vt.c
4055
set_origin(vc);
drivers/tty/vt/vt.c
4056
update_attr(vc);
drivers/tty/vt/vt.c
4062
if (old_was_color != vc->vc_can_do_color)
drivers/tty/vt/vt.c
4063
clear_buffer_attributes(vc);
drivers/tty/vt/vt.c
4070
struct vc_data *vc = vc_cons[j].d;
drivers/tty/vt/vt.c
4073
vc->vc_can_do_color ? "colour" : "mono",
drivers/tty/vt/vt.c
4074
desc, vc->vc_cols, vc->vc_rows);
drivers/tty/vt/vt.c
4077
vc = vc_cons[k].d;
drivers/tty/vt/vt.c
4078
update_screen(vc);
drivers/tty/vt/vt.c
408
static void vc_uniscr_delete(struct vc_data *vc, unsigned int nr)
drivers/tty/vt/vt.c
410
if (vc->vc_uni_lines) {
drivers/tty/vt/vt.c
411
u32 *ln = vc->vc_uni_lines[vc->state.y];
drivers/tty/vt/vt.c
412
unsigned int x = vc->state.x, cols = vc->vc_cols;
drivers/tty/vt/vt.c
419
static void vc_uniscr_clear_line(struct vc_data *vc, unsigned int x,
drivers/tty/vt/vt.c
422
if (vc->vc_uni_lines)
drivers/tty/vt/vt.c
423
memset32(&vc->vc_uni_lines[vc->state.y][x], ' ', nr);
drivers/tty/vt/vt.c
426
static void vc_uniscr_clear_lines(struct vc_data *vc, unsigned int y,
drivers/tty/vt/vt.c
429
if (vc->vc_uni_lines)
drivers/tty/vt/vt.c
431
memset32(vc->vc_uni_lines[y++], ' ', vc->vc_cols);
drivers/tty/vt/vt.c
4366
bool con_is_visible(const struct vc_data *vc)
drivers/tty/vt/vt.c
4370
return *vc->vc_display_fg == vc;
drivers/tty/vt/vt.c
4382
void con_debug_enter(struct vc_data *vc)
drivers/tty/vt/vt.c
4386
if (vc->vc_rows < 999) {
drivers/tty/vt/vt.c
4395
snprintf(lns, 4, "%i", vc->vc_rows);
drivers/tty/vt/vt.c
4399
if (vc->vc_cols < 999) {
drivers/tty/vt/vt.c
4408
snprintf(cols, 4, "%i", vc->vc_cols);
drivers/tty/vt/vt.c
456
static void vc_uniscr_scroll(struct vc_data *vc, unsigned int top,
drivers/tty/vt/vt.c
460
u32 **uni_lines = vc->vc_uni_lines;
drivers/tty/vt/vt.c
4664
struct vc_data *vc = vc_cons[fg_console].d;
drivers/tty/vt/vt.c
4674
vc->vc_sw->con_blank(vc, vesa_blank_mode + 1, 0);
drivers/tty/vt/vt.c
468
vc_uniscr_clear_lines(vc, top, nr);
drivers/tty/vt/vt.c
4681
hide_cursor(vc);
drivers/tty/vt/vt.c
4682
save_screen(vc);
drivers/tty/vt/vt.c
4683
vc->vc_sw->con_blank(vc, VESA_VSYNC_SUSPEND, 1);
drivers/tty/vt/vt.c
4686
set_origin(vc);
drivers/tty/vt/vt.c
4693
if (vc->vc_mode != KD_TEXT) {
drivers/tty/vt/vt.c
4698
hide_cursor(vc);
drivers/tty/vt/vt.c
4702
save_screen(vc);
drivers/tty/vt/vt.c
4704
i = vc->vc_sw->con_blank(vc, vesa_off_interval ? VESA_VSYNC_SUSPEND :
drivers/tty/vt/vt.c
4708
set_origin(vc);
drivers/tty/vt/vt.c
471
vc_uniscr_clear_lines(vc, bottom - nr, nr);
drivers/tty/vt/vt.c
4717
vt_event_post(VT_EVENT_BLANK, vc->vc_num, vc->vc_num);
drivers/tty/vt/vt.c
4726
struct vc_data *vc;
drivers/tty/vt/vt.c
4746
vc = vc_cons[fg_console].d;
drivers/tty/vt/vt.c
4747
if (vc->vc_mode != KD_TEXT)
drivers/tty/vt/vt.c
475
static u32 vc_uniscr_getc(struct vc_data *vc, int relative_pos)
drivers/tty/vt/vt.c
4756
if (vc->vc_sw->con_blank(vc, VESA_NO_BLANKING, leaving_gfx))
drivers/tty/vt/vt.c
4758
update_screen(vc);
drivers/tty/vt/vt.c
4761
set_palette(vc);
drivers/tty/vt/vt.c
4762
set_cursor(vc);
drivers/tty/vt/vt.c
4763
vt_event_post(VT_EVENT_UNBLANK, vc->vc_num, vc->vc_num);
drivers/tty/vt/vt.c
4764
notify_update(vc);
drivers/tty/vt/vt.c
477
int pos = vc->state.x + vc->vc_need_wrap + relative_pos;
drivers/tty/vt/vt.c
479
if (vc->vc_uni_lines && in_range(pos, 0, vc->vc_cols))
drivers/tty/vt/vt.c
480
return vc->vc_uni_lines[vc->state.y][pos];
drivers/tty/vt/vt.c
4822
static void set_palette(struct vc_data *vc)
drivers/tty/vt/vt.c
4826
if (vc->vc_mode != KD_GRAPHICS && vc->vc_sw->con_set_palette)
drivers/tty/vt/vt.c
4827
vc->vc_sw->con_set_palette(vc, color_table);
drivers/tty/vt/vt.c
4881
void reset_palette(struct vc_data *vc)
drivers/tty/vt/vt.c
4885
vc->vc_palette[k++] = default_red[j];
drivers/tty/vt/vt.c
4886
vc->vc_palette[k++] = default_grn[j];
drivers/tty/vt/vt.c
4887
vc->vc_palette[k++] = default_blu[j];
drivers/tty/vt/vt.c
4889
set_palette(vc);
drivers/tty/vt/vt.c
4910
static int con_font_get(struct vc_data *vc, struct console_font_op *op)
drivers/tty/vt/vt.c
4928
if (vc->vc_mode != KD_TEXT)
drivers/tty/vt/vt.c
4930
if (!vc->vc_sw->con_font_get)
drivers/tty/vt/vt.c
4933
int ret = vc->vc_sw->con_font_get(vc, &font, vpitch);
drivers/tty/vt/vt.c
4955
static int con_font_set(struct vc_data *vc, const struct console_font_op *op)
drivers/tty/vt/vt.c
4984
if (vc->vc_mode != KD_TEXT)
drivers/tty/vt/vt.c
4986
if (!vc->vc_sw->con_font_set)
drivers/tty/vt/vt.c
4989
if (vc_is_sel(vc))
drivers/tty/vt/vt.c
4992
return vc->vc_sw->con_font_set(vc, &font, vpitch, op->flags);
drivers/tty/vt/vt.c
4995
static int con_font_default(struct vc_data *vc, struct console_font_op *op)
drivers/tty/vt/vt.c
5009
if (vc->vc_mode != KD_TEXT)
drivers/tty/vt/vt.c
5011
if (!vc->vc_sw->con_font_default)
drivers/tty/vt/vt.c
5014
if (vc_is_sel(vc))
drivers/tty/vt/vt.c
5016
int ret = vc->vc_sw->con_font_default(vc, &font, s);
drivers/tty/vt/vt.c
5027
int con_font_op(struct vc_data *vc, struct console_font_op *op)
drivers/tty/vt/vt.c
5032
return con_font_set(vc, op);
drivers/tty/vt/vt.c
5035
return con_font_get(vc, op);
drivers/tty/vt/vt.c
5037
return con_font_default(vc, op);
drivers/tty/vt/vt.c
5050
u16 screen_glyph(const struct vc_data *vc, int offset)
drivers/tty/vt/vt.c
5052
u16 w = scr_readw(screenpos(vc, offset, true));
drivers/tty/vt/vt.c
5055
if (w & vc->vc_hi_font_mask)
drivers/tty/vt/vt.c
5061
u32 screen_glyph_unicode(const struct vc_data *vc, int n)
drivers/tty/vt/vt.c
5063
u32 **uni_lines = vc->vc_uni_lines;
drivers/tty/vt/vt.c
5066
return uni_lines[n / vc->vc_cols][n % vc->vc_cols];
drivers/tty/vt/vt.c
5068
return inverse_translate(vc, screen_glyph(vc, n * 2), true);
drivers/tty/vt/vt.c
5073
unsigned short *screen_pos(const struct vc_data *vc, int w_offset, bool viewed)
drivers/tty/vt/vt.c
5075
return screenpos(vc, 2 * w_offset, viewed);
drivers/tty/vt/vt.c
5079
void getconsxy(const struct vc_data *vc, unsigned char xy[static 2])
drivers/tty/vt/vt.c
5082
xy[0] = min(vc->state.x, 0xFFu);
drivers/tty/vt/vt.c
5083
xy[1] = min(vc->state.y, 0xFFu);
drivers/tty/vt/vt.c
5086
void putconsxy(struct vc_data *vc, unsigned char xy[static const 2])
drivers/tty/vt/vt.c
5088
hide_cursor(vc);
drivers/tty/vt/vt.c
5089
gotoxy(vc, xy[0], xy[1]);
drivers/tty/vt/vt.c
5090
set_cursor(vc);
drivers/tty/vt/vt.c
5093
u16 vcs_scr_readw(const struct vc_data *vc, const u16 *org)
drivers/tty/vt/vt.c
5095
if ((unsigned long)org == vc->vc_pos && softcursor_original != -1)
drivers/tty/vt/vt.c
5100
void vcs_scr_writew(struct vc_data *vc, u16 val, u16 *org)
drivers/tty/vt/vt.c
5103
if ((unsigned long)org == vc->vc_pos) {
drivers/tty/vt/vt.c
5105
add_softcursor(vc);
drivers/tty/vt/vt.c
5109
void vcs_scr_updated(struct vc_data *vc)
drivers/tty/vt/vt.c
5111
notify_update(vc);
drivers/tty/vt/vt.c
521
int vc_uniscr_check(struct vc_data *vc)
drivers/tty/vt/vt.c
529
if (!vc->vc_utf)
drivers/tty/vt/vt.c
532
if (vc->vc_uni_lines)
drivers/tty/vt/vt.c
535
uni_lines = vc_uniscr_alloc(vc->vc_cols, vc->vc_rows);
drivers/tty/vt/vt.c
545
p = (unsigned short *)vc->vc_origin;
drivers/tty/vt/vt.c
546
mask = vc->vc_hi_font_mask | 0xff;
drivers/tty/vt/vt.c
547
for (y = 0; y < vc->vc_rows; y++) {
drivers/tty/vt/vt.c
549
for (x = 0; x < vc->vc_cols; x++) {
drivers/tty/vt/vt.c
551
line[x] = inverse_translate(vc, glyph, true);
drivers/tty/vt/vt.c
555
vc->vc_uni_lines = uni_lines;
drivers/tty/vt/vt.c
565
void vc_uniscr_copy_line(const struct vc_data *vc, void *dest, bool viewed,
drivers/tty/vt/vt.c
568
u32 **uni_lines = vc->vc_uni_lines;
drivers/tty/vt/vt.c
569
int offset = row * vc->vc_size_row + col * 2;
drivers/tty/vt/vt.c
575
pos = (unsigned long)screenpos(vc, offset, viewed);
drivers/tty/vt/vt.c
576
if (pos >= vc->vc_origin && pos < vc->vc_scr_end) {
drivers/tty/vt/vt.c
582
row = (pos - vc->vc_origin) / vc->vc_size_row;
drivers/tty/vt/vt.c
583
col = ((pos - vc->vc_origin) % vc->vc_size_row) / 2;
drivers/tty/vt/vt.c
593
int mask = vc->vc_hi_font_mask | 0xff;
drivers/tty/vt/vt.c
597
*uni_buf++ = inverse_translate(vc, glyph, true);
drivers/tty/vt/vt.c
602
static void con_scroll(struct vc_data *vc, unsigned int top,
drivers/tty/vt/vt.c
611
if (bottom > vc->vc_rows || top >= bottom || nr < 1)
drivers/tty/vt/vt.c
614
vc_uniscr_scroll(vc, top, bottom, dir, nr);
drivers/tty/vt/vt.c
615
if (con_is_visible(vc) &&
drivers/tty/vt/vt.c
616
vc->vc_sw->con_scroll(vc, top, bottom, dir, nr))
drivers/tty/vt/vt.c
619
src = clear = (u16 *)(vc->vc_origin + vc->vc_size_row * top);
drivers/tty/vt/vt.c
620
dst = (u16 *)(vc->vc_origin + vc->vc_size_row * (top + nr));
drivers/tty/vt/vt.c
623
clear = src + (rows - nr) * vc->vc_cols;
drivers/tty/vt/vt.c
626
scr_memmovew(dst, src, (rows - nr) * vc->vc_size_row);
drivers/tty/vt/vt.c
627
scr_memsetw(clear, vc->vc_video_erase_char, vc->vc_size_row * nr);
drivers/tty/vt/vt.c
630
static void do_update_region(struct vc_data *vc, unsigned long start, int count)
drivers/tty/vt/vt.c
635
offset = (start - vc->vc_origin) / 2;
drivers/tty/vt/vt.c
636
xx = offset % vc->vc_cols;
drivers/tty/vt/vt.c
637
yy = offset / vc->vc_cols;
drivers/tty/vt/vt.c
643
while (xx < vc->vc_cols && count) {
drivers/tty/vt/vt.c
646
vc->vc_sw->con_putcs(vc, q, p-q, yy, startx);
drivers/tty/vt/vt.c
656
vc->vc_sw->con_putcs(vc, q, p-q, yy, startx);
drivers/tty/vt/vt.c
664
void update_region(struct vc_data *vc, unsigned long start, int count)
drivers/tty/vt/vt.c
668
if (con_should_update(vc)) {
drivers/tty/vt/vt.c
669
hide_cursor(vc);
drivers/tty/vt/vt.c
670
do_update_region(vc, start, count);
drivers/tty/vt/vt.c
671
set_cursor(vc);
drivers/tty/vt/vt.c
678
static u8 build_attr(struct vc_data *vc, u8 _color,
drivers/tty/vt/vt.c
682
if (vc->vc_sw->con_build_attr)
drivers/tty/vt/vt.c
683
return vc->vc_sw->con_build_attr(vc, _color, _intensity,
drivers/tty/vt/vt.c
698
if (!vc->vc_can_do_color)
drivers/tty/vt/vt.c
705
a = (a & 0xF0) | vc->vc_itcolor;
drivers/tty/vt/vt.c
707
a = (a & 0xf0) | vc->vc_ulcolor;
drivers/tty/vt/vt.c
709
a = (a & 0xf0) | vc->vc_halfcolor;
drivers/tty/vt/vt.c
716
if (vc->vc_hi_font_mask == 0x100)
drivers/tty/vt/vt.c
722
static void update_attr(struct vc_data *vc)
drivers/tty/vt/vt.c
724
vc->vc_attr = build_attr(vc, vc->state.color, vc->state.intensity,
drivers/tty/vt/vt.c
725
vc->state.blink, vc->state.underline,
drivers/tty/vt/vt.c
726
vc->state.reverse ^ vc->vc_decscnm, vc->state.italic);
drivers/tty/vt/vt.c
727
vc->vc_video_erase_char = ' ' | (build_attr(vc, vc->state.color,
drivers/tty/vt/vt.c
728
VCI_NORMAL, vc->state.blink, false,
drivers/tty/vt/vt.c
729
vc->vc_decscnm, false) << 8);
drivers/tty/vt/vt.c
733
void invert_screen(struct vc_data *vc, int offset, int count, bool viewed)
drivers/tty/vt/vt.c
740
p = screenpos(vc, offset, viewed);
drivers/tty/vt/vt.c
741
if (vc->vc_sw->con_invert_region) {
drivers/tty/vt/vt.c
742
vc->vc_sw->con_invert_region(vc, p, count);
drivers/tty/vt/vt.c
748
if (!vc->vc_can_do_color) {
drivers/tty/vt/vt.c
755
} else if (vc->vc_hi_font_mask == 0x100) {
drivers/tty/vt/vt.c
776
if (con_should_update(vc))
drivers/tty/vt/vt.c
777
do_update_region(vc, (unsigned long) p, count);
drivers/tty/vt/vt.c
778
notify_update(vc);
drivers/tty/vt/vt.c
782
void complement_pos(struct vc_data *vc, int offset)
drivers/tty/vt/vt.c
791
old_offset < vc->vc_screenbuf_size) {
drivers/tty/vt/vt.c
792
scr_writew(old, screenpos(vc, old_offset, true));
drivers/tty/vt/vt.c
793
if (con_should_update(vc))
drivers/tty/vt/vt.c
794
con_putc(vc, old, oldy, oldx);
drivers/tty/vt/vt.c
795
notify_update(vc);
drivers/tty/vt/vt.c
801
offset < vc->vc_screenbuf_size) {
drivers/tty/vt/vt.c
803
u16 *p = screenpos(vc, offset, true);
drivers/tty/vt/vt.c
805
new = old ^ vc->vc_complement_mask;
drivers/tty/vt/vt.c
807
if (con_should_update(vc)) {
drivers/tty/vt/vt.c
808
oldx = (offset >> 1) % vc->vc_cols;
drivers/tty/vt/vt.c
809
oldy = (offset >> 1) / vc->vc_cols;
drivers/tty/vt/vt.c
810
con_putc(vc, new, oldy, oldx);
drivers/tty/vt/vt.c
812
notify_update(vc);
drivers/tty/vt/vt.c
816
static void insert_char(struct vc_data *vc, unsigned int nr)
drivers/tty/vt/vt.c
818
unsigned short *p = (unsigned short *) vc->vc_pos;
drivers/tty/vt/vt.c
820
vc_uniscr_insert(vc, nr);
drivers/tty/vt/vt.c
821
scr_memmovew(p + nr, p, (vc->vc_cols - vc->state.x - nr) * 2);
drivers/tty/vt/vt.c
822
scr_memsetw(p, vc->vc_video_erase_char, nr * 2);
drivers/tty/vt/vt.c
823
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
824
if (con_should_update(vc))
drivers/tty/vt/vt.c
825
do_update_region(vc, (unsigned long) p,
drivers/tty/vt/vt.c
826
vc->vc_cols - vc->state.x);
drivers/tty/vt/vt.c
829
static void delete_char(struct vc_data *vc, unsigned int nr)
drivers/tty/vt/vt.c
831
unsigned short *p = (unsigned short *) vc->vc_pos;
drivers/tty/vt/vt.c
833
vc_uniscr_delete(vc, nr);
drivers/tty/vt/vt.c
834
scr_memmovew(p, p + nr, (vc->vc_cols - vc->state.x - nr) * 2);
drivers/tty/vt/vt.c
835
scr_memsetw(p + vc->vc_cols - vc->state.x - nr, vc->vc_video_erase_char,
drivers/tty/vt/vt.c
837
vc->vc_need_wrap = 0;
drivers/tty/vt/vt.c
838
if (con_should_update(vc))
drivers/tty/vt/vt.c
839
do_update_region(vc, (unsigned long) p,
drivers/tty/vt/vt.c
840
vc->vc_cols - vc->state.x);
drivers/tty/vt/vt.c
845
static void add_softcursor(struct vc_data *vc)
drivers/tty/vt/vt.c
847
int i = scr_readw((u16 *) vc->vc_pos);
drivers/tty/vt/vt.c
848
u32 type = vc->vc_cursor_type;
drivers/tty/vt/vt.c
862
scr_writew(i, (u16 *)vc->vc_pos);
drivers/tty/vt/vt.c
863
if (con_should_update(vc))
drivers/tty/vt/vt.c
864
con_putc(vc, i, vc->state.y, vc->state.x);
drivers/tty/vt/vt.c
867
static void hide_softcursor(struct vc_data *vc)
drivers/tty/vt/vt.c
870
scr_writew(softcursor_original, (u16 *)vc->vc_pos);
drivers/tty/vt/vt.c
871
if (con_should_update(vc))
drivers/tty/vt/vt.c
872
con_putc(vc, softcursor_original, vc->state.y,
drivers/tty/vt/vt.c
873
vc->state.x);
drivers/tty/vt/vt.c
878
static void hide_cursor(struct vc_data *vc)
drivers/tty/vt/vt.c
880
if (vc_is_sel(vc))
drivers/tty/vt/vt.c
883
vc->vc_sw->con_cursor(vc, false);
drivers/tty/vt/vt.c
884
hide_softcursor(vc);
drivers/tty/vt/vt.c
887
static void set_cursor(struct vc_data *vc)
drivers/tty/vt/vt.c
889
if (!con_is_fg(vc) || console_blanked || vc->vc_mode == KD_GRAPHICS)
drivers/tty/vt/vt.c
891
if (vc->vc_deccm) {
drivers/tty/vt/vt.c
892
if (vc_is_sel(vc))
drivers/tty/vt/vt.c
894
add_softcursor(vc);
drivers/tty/vt/vt.c
895
if (CUR_SIZE(vc->vc_cursor_type) != CUR_NONE)
drivers/tty/vt/vt.c
896
vc->vc_sw->con_cursor(vc, true);
drivers/tty/vt/vt.c
898
hide_cursor(vc);
drivers/tty/vt/vt.c
901
static void set_origin(struct vc_data *vc)
drivers/tty/vt/vt.c
905
if (!con_is_visible(vc) ||
drivers/tty/vt/vt.c
906
!vc->vc_sw->con_set_origin ||
drivers/tty/vt/vt.c
907
!vc->vc_sw->con_set_origin(vc))
drivers/tty/vt/vt.c
908
vc->vc_origin = (unsigned long)vc->vc_screenbuf;
drivers/tty/vt/vt.c
909
vc->vc_visible_origin = vc->vc_origin;
drivers/tty/vt/vt.c
910
vc->vc_scr_end = vc->vc_origin + vc->vc_screenbuf_size;
drivers/tty/vt/vt.c
911
vc->vc_pos = vc->vc_origin + vc->vc_size_row * vc->state.y +
drivers/tty/vt/vt.c
912
2 * vc->state.x;
drivers/tty/vt/vt.c
915
static void save_screen(struct vc_data *vc)
drivers/tty/vt/vt.c
919
if (vc->vc_sw->con_save_screen)
drivers/tty/vt/vt.c
920
vc->vc_sw->con_save_screen(vc);
drivers/tty/vt/vt.c
923
static void flush_scrollback(struct vc_data *vc)
drivers/tty/vt/vt.c
927
set_origin(vc);
drivers/tty/vt/vt.c
928
if (!con_is_visible(vc))
drivers/tty/vt/vt.c
937
hide_cursor(vc);
drivers/tty/vt/vt.c
938
vc->vc_sw->con_switch(vc);
drivers/tty/vt/vt.c
939
set_cursor(vc);
drivers/tty/vt/vt.c
946
void clear_buffer_attributes(struct vc_data *vc)
drivers/tty/vt/vt.c
948
unsigned short *p = (unsigned short *)vc->vc_origin;
drivers/tty/vt/vt.c
949
int count = vc->vc_screenbuf_size / 2;
drivers/tty/vt/vt.c
950
int mask = vc->vc_hi_font_mask | 0xff;
drivers/tty/vt/vt.c
953
scr_writew((scr_readw(p)&mask) | (vc->vc_video_erase_char & ~mask), p);
drivers/tty/vt/vt.c
957
void redraw_screen(struct vc_data *vc, int is_switch)
drivers/tty/vt/vt.c
963
if (!vc) {
drivers/tty/vt/vt.c
971
if (old_vc == vc)
drivers/tty/vt/vt.c
973
if (!con_is_visible(vc))
drivers/tty/vt/vt.c
975
*vc->vc_display_fg = vc;
drivers/tty/vt/vt.c
976
fg_console = vc->vc_num;
drivers/tty/vt/vt.c
985
hide_cursor(vc);
drivers/tty/vt/vt.c
991
int old_was_color = vc->vc_can_do_color;
drivers/tty/vt/vt.c
993
set_origin(vc);
drivers/tty/vt/vt.c
994
update = vc->vc_sw->con_switch(vc);
drivers/tty/vt/vt.c
995
set_palette(vc);
drivers/tty/vt/vt_ioctl.c
1010
int perm, struct console_font_op *op, struct vc_data *vc)
drivers/tty/vt/vt_ioctl.c
1019
i = con_font_op(vc, op);
drivers/tty/vt/vt_ioctl.c
1035
int perm, struct vc_data *vc)
drivers/tty/vt/vt_ioctl.c
1047
return con_set_unimap(vc, tmp.entry_ct, tmp_entries);
drivers/tty/vt/vt_ioctl.c
1049
if (!perm && fg_console != vc->vc_num)
drivers/tty/vt/vt_ioctl.c
1051
return con_get_unimap(vc, tmp.entry_ct, &(user_ud->entry_ct), tmp_entries);
drivers/tty/vt/vt_ioctl.c
1059
struct vc_data *vc = tty->driver_data;
drivers/tty/vt/vt_ioctl.c
1078
return compat_kdfontop_ioctl(up, perm, &op, vc);
drivers/tty/vt/vt_ioctl.c
1082
return compat_unimap_ioctl(cmd, up, perm, vc);
drivers/tty/vt/vt_ioctl.c
1124
static void complete_change_console(struct vc_data *vc)
drivers/tty/vt/vt_ioctl.c
1137
switch_screen(vc);
drivers/tty/vt/vt_ioctl.c
1149
if (old_vc_mode != vc->vc_mode) {
drivers/tty/vt/vt_ioctl.c
1150
if (vc->vc_mode == KD_TEXT)
drivers/tty/vt/vt_ioctl.c
1161
if (vc->vt_mode.mode == VT_PROCESS) {
drivers/tty/vt/vt_ioctl.c
1167
if (kill_pid(vc->vt_pid, vc->vt_mode.acqsig, 1) != 0) {
drivers/tty/vt/vt_ioctl.c
1177
reset_vc(vc);
drivers/tty/vt/vt_ioctl.c
1179
if (old_vc_mode != vc->vc_mode) {
drivers/tty/vt/vt_ioctl.c
1180
if (vc->vc_mode == KD_TEXT)
drivers/tty/vt/vt_ioctl.c
1191
vt_event_post(VT_EVENT_SWITCH, old, vc->vc_num);
drivers/tty/vt/vt_ioctl.c
1200
struct vc_data *vc;
drivers/tty/vt/vt_ioctl.c
1220
vc = vc_cons[fg_console].d;
drivers/tty/vt/vt_ioctl.c
1221
if (vc->vt_mode.mode == VT_PROCESS) {
drivers/tty/vt/vt_ioctl.c
1230
vc->vt_newvt = new_vc->vc_num;
drivers/tty/vt/vt_ioctl.c
1231
if (kill_pid(vc->vt_pid, vc->vt_mode.relsig, 1) == 0) {
drivers/tty/vt/vt_ioctl.c
1249
reset_vc(vc);
drivers/tty/vt/vt_ioctl.c
1259
if (vc->vc_mode == KD_GRAPHICS)
drivers/tty/vt/vt_ioctl.c
252
static int vt_kdsetmode(struct vc_data *vc, unsigned long mode)
drivers/tty/vt/vt_ioctl.c
267
if (vc->vc_mode == mode)
drivers/tty/vt/vt_ioctl.c
270
vc->vc_mode = mode;
drivers/tty/vt/vt_ioctl.c
271
if (vc->vc_num != fg_console)
drivers/tty/vt/vt_ioctl.c
286
struct vc_data *vc = tty->driver_data;
drivers/tty/vt/vt_ioctl.c
288
unsigned int console = vc->vc_num;
drivers/tty/vt/vt_ioctl.c
381
return vt_kdsetmode(vc, arg);
drivers/tty/vt/vt_ioctl.c
384
return put_user(vc->vc_mode, (int __user *)arg);
drivers/tty/vt/vt_ioctl.c
46
const struct vc_data *vc = vc_cons[i].d;
drivers/tty/vt/vt_ioctl.c
472
ret = con_font_op(vc, &op);
drivers/tty/vt/vt_ioctl.c
488
bool perm, struct vc_data *vc)
drivers/tty/vt/vt_ioctl.c
498
return con_set_unimap(vc, tmp.entry_ct, tmp.entries);
drivers/tty/vt/vt_ioctl.c
500
if (!perm && fg_console != vc->vc_num)
drivers/tty/vt/vt_ioctl.c
502
return con_get_unimap(vc, tmp.entry_ct, &(user_ud->entry_ct),
drivers/tty/vt/vt_ioctl.c
508
static int vt_io_ioctl(struct vc_data *vc, unsigned int cmd, void __user *up,
drivers/tty/vt/vt_ioctl.c
539
con_clear_unimap(vc);
drivers/tty/vt/vt_ioctl.c
54
return vc && kref_read(&vc->port.kref) > 1;
drivers/tty/vt/vt_ioctl.c
544
return do_unimap_ioctl(cmd, up, perm, vc);
drivers/tty/vt/vt_ioctl.c
553
static int vt_reldisp(struct vc_data *vc, unsigned int swtch)
drivers/tty/vt/vt_ioctl.c
557
if (vc->vt_mode.mode != VT_PROCESS)
drivers/tty/vt/vt_ioctl.c
561
if (vc->vt_newvt < 0) {
drivers/tty/vt/vt_ioctl.c
569
vc->vt_newvt = -1;
drivers/tty/vt/vt_ioctl.c
574
newvt = vc->vt_newvt;
drivers/tty/vt/vt_ioctl.c
575
vc->vt_newvt = -1;
drivers/tty/vt/vt_ioctl.c
628
struct vc_data *vc = NULL;
drivers/tty/vt/vt_ioctl.c
634
vc = vc_deallocate(vc_num);
drivers/tty/vt/vt_ioctl.c
637
if (vc && vc_num >= MIN_NR_CONSOLES)
drivers/tty/vt/vt_ioctl.c
638
tty_port_put(&vc->port);
drivers/tty/vt/vt_ioctl.c
646
struct vc_data *vc[MAX_NR_CONSOLES];
drivers/tty/vt/vt_ioctl.c
652
vc[i] = vc_deallocate(i);
drivers/tty/vt/vt_ioctl.c
654
vc[i] = NULL;
drivers/tty/vt/vt_ioctl.c
657
if (vc[i] && i >= MIN_NR_CONSOLES)
drivers/tty/vt/vt_ioctl.c
658
tty_port_put(&vc[i]->port);
drivers/tty/vt/vt_ioctl.c
662
static int vt_resizex(struct vc_data *vc, struct vt_consize __user *cs)
drivers/tty/vt/vt_ioctl.c
672
v.v_vlin = vc->vc_scan_lines;
drivers/tty/vt/vt_ioctl.c
730
struct vc_data *vc = tty->driver_data;
drivers/tty/vt/vt_ioctl.c
747
ret = vt_io_ioctl(vc, cmd, up, perm);
drivers/tty/vt/vt_ioctl.c
766
vc->vt_mode = tmp;
drivers/tty/vt/vt_ioctl.c
768
vc->vt_mode.frsig = 0;
drivers/tty/vt/vt_ioctl.c
769
put_pid(vc->vt_pid);
drivers/tty/vt/vt_ioctl.c
770
vc->vt_pid = get_pid(task_pid(current));
drivers/tty/vt/vt_ioctl.c
772
vc->vt_newvt = -1;
drivers/tty/vt/vt_ioctl.c
782
memcpy(&tmp, &vc->vt_mode, sizeof(struct vt_mode));
drivers/tty/vt/vt_ioctl.c
86
static void complete_change_console(struct vc_data *vc);
drivers/tty/vt/vt_ioctl.c
875
return vt_reldisp(vc, arg);
drivers/tty/vt/vt_ioctl.c
896
struct vc_data *vc;
drivers/tty/vt/vt_ioctl.c
907
vc = vc_cons[i].d;
drivers/tty/vt/vt_ioctl.c
909
if (vc) {
drivers/tty/vt/vt_ioctl.c
923
return vt_resizex(vc, up);
drivers/tty/vt/vt_ioctl.c
936
return put_user(vc->vc_hi_font_mask,
drivers/tty/vt/vt_ioctl.c
946
concsr.con_cols = vc->vc_cols;
drivers/tty/vt/vt_ioctl.c
947
concsr.con_rows = vc->vc_rows;
drivers/tty/vt/vt_ioctl.c
948
concsr.csr_col = vc->state.x;
drivers/tty/vt/vt_ioctl.c
949
concsr.csr_row = vc->state.y;
drivers/tty/vt/vt_ioctl.c
963
void reset_vc(struct vc_data *vc)
drivers/tty/vt/vt_ioctl.c
965
vc->vc_mode = KD_TEXT;
drivers/tty/vt/vt_ioctl.c
966
vt_reset_unicode(vc->vc_num);
drivers/tty/vt/vt_ioctl.c
967
vc->vt_mode.mode = VT_AUTO;
drivers/tty/vt/vt_ioctl.c
968
vc->vt_mode.waitv = 0;
drivers/tty/vt/vt_ioctl.c
969
vc->vt_mode.relsig = 0;
drivers/tty/vt/vt_ioctl.c
970
vc->vt_mode.acqsig = 0;
drivers/tty/vt/vt_ioctl.c
971
vc->vt_mode.frsig = 0;
drivers/tty/vt/vt_ioctl.c
972
put_pid(vc->vt_pid);
drivers/tty/vt/vt_ioctl.c
973
vc->vt_pid = NULL;
drivers/tty/vt/vt_ioctl.c
974
vc->vt_newvt = -1;
drivers/tty/vt/vt_ioctl.c
975
reset_palette(vc);
drivers/tty/vt/vt_ioctl.c
980
struct vc *vc_con =
drivers/tty/vt/vt_ioctl.c
981
container_of(work, struct vc, SAK_work);
drivers/tty/vt/vt_ioctl.c
982
struct vc_data *vc;
drivers/tty/vt/vt_ioctl.c
986
vc = vc_con->d;
drivers/tty/vt/vt_ioctl.c
987
if (!vc)
drivers/tty/vt/vt_ioctl.c
991
tty = vc->port.tty;
drivers/tty/vt/vt_ioctl.c
995
reset_vc(vc);
drivers/vdpa/pds/debugfs.c
204
struct virtio_net_config vc;
drivers/vdpa/pds/debugfs.c
207
memcpy_fromio(&vc, pdsv->vdpa_aux->vd_mdev.device,
drivers/vdpa/pds/debugfs.c
210
seq_printf(seq, "mac: %pM\n", vc.mac);
drivers/vdpa/pds/debugfs.c
212
__virtio16_to_cpu(true, vc.max_virtqueue_pairs));
drivers/vdpa/pds/debugfs.c
213
seq_printf(seq, "mtu: %d\n", __virtio16_to_cpu(true, vc.mtu));
drivers/vdpa/pds/debugfs.c
214
seq_printf(seq, "speed: %d\n", le32_to_cpu(vc.speed));
drivers/vdpa/pds/debugfs.c
215
seq_printf(seq, "duplex: %d\n", vc.duplex);
drivers/vdpa/pds/debugfs.c
216
seq_printf(seq, "rss_max_key_size: %d\n", vc.rss_max_key_size);
drivers/vdpa/pds/debugfs.c
218
le16_to_cpu(vc.rss_max_indirection_table_length));
drivers/vdpa/pds/debugfs.c
220
le32_to_cpu(vc.supported_hash_types));
drivers/vdpa/pds/debugfs.c
222
__virtio16_to_cpu(true, vc.status));
drivers/vdpa/pds/vdpa_dev.c
717
struct virtio_net_config __iomem *vc;
drivers/vdpa/pds/vdpa_dev.c
719
vc = pdsv->vdpa_aux->vd_mdev.device;
drivers/vdpa/pds/vdpa_dev.c
720
memcpy_fromio(pdsv->mac, vc->mac, sizeof(pdsv->mac));
drivers/vhost/scsi.c
1077
struct vhost_scsi_ctx *vc, u8 status)
drivers/vhost/scsi.c
1086
iov_iter_init(&iov_iter, ITER_DEST, &vq->iov[vc->out], vc->in,
drivers/vhost/scsi.c
1092
vhost_add_used_and_signal(&vs->dev, vq, vc->head, 0);
drivers/vhost/scsi.c
1104
struct vhost_scsi_ctx *vc, int type)
drivers/vhost/scsi.c
1128
iov_iter_init(&iov_iter, ITER_DEST, &vq->iov[vc->out], vc->in,
drivers/vhost/scsi.c
1134
vhost_add_used_and_signal(&vs->dev, vq, vc->head, 0);
drivers/vhost/scsi.c
1141
struct vhost_scsi_ctx *vc,
drivers/vhost/scsi.c
1149
vc->head = vhost_get_vq_desc(vq, vq->iov,
drivers/vhost/scsi.c
1150
ARRAY_SIZE(vq->iov), &vc->out, &vc->in,
drivers/vhost/scsi.c
1154
vc->head, vc->out, vc->in);
drivers/vhost/scsi.c
1157
if (unlikely(vc->head < 0))
drivers/vhost/scsi.c
1161
if (vc->head == vq->num) {
drivers/vhost/scsi.c
1173
vc->out_size = iov_length(vq->iov, vc->out);
drivers/vhost/scsi.c
1174
vc->in_size = iov_length(&vq->iov[vc->out], vc->in);
drivers/vhost/scsi.c
1186
iov_iter_init(&vc->out_iter, ITER_SOURCE, vq->iov, vc->out, vc->out_size);
drivers/vhost/scsi.c
1194
vhost_scsi_chk_size(struct vhost_virtqueue *vq, struct vhost_scsi_ctx *vc)
drivers/vhost/scsi.c
1196
if (unlikely(vc->in_size < vc->rsp_size)) {
drivers/vhost/scsi.c
1199
vc->rsp_size, vc->in_size);
drivers/vhost/scsi.c
1201
} else if (unlikely(vc->out_size < vc->req_size)) {
drivers/vhost/scsi.c
1204
vc->req_size, vc->out_size);
drivers/vhost/scsi.c
1212
vhost_scsi_get_req(struct vhost_virtqueue *vq, struct vhost_scsi_ctx *vc,
drivers/vhost/scsi.c
1217
if (unlikely(!copy_from_iter_full(vc->req, vc->req_size,
drivers/vhost/scsi.c
1218
&vc->out_iter))) {
drivers/vhost/scsi.c
1220
} else if (unlikely(*vc->lunp != 1)) {
drivers/vhost/scsi.c
1222
vq_err(vq, "Illegal virtio-scsi lun: %u\n", *vc->lunp);
drivers/vhost/scsi.c
1226
if (vc->target) {
drivers/vhost/scsi.c
1229
tpg = READ_ONCE(vs_tpg[*vc->target]);
drivers/vhost/scsi.c
1290
struct vhost_scsi_ctx vc;
drivers/vhost/scsi.c
1312
memset(&vc, 0, sizeof(vc));
drivers/vhost/scsi.c
1313
vc.rsp_size = sizeof(struct virtio_scsi_cmd_resp);
drivers/vhost/scsi.c
1321
ret = vhost_scsi_get_desc(vs, vq, &vc, vq_log, &log_num);
drivers/vhost/scsi.c
1330
vc.req = &v_req_pi;
drivers/vhost/scsi.c
1331
vc.req_size = sizeof(v_req_pi);
drivers/vhost/scsi.c
1332
vc.lunp = &v_req_pi.lun[0];
drivers/vhost/scsi.c
1333
vc.target = &v_req_pi.lun[1];
drivers/vhost/scsi.c
1335
vc.req = &v_req;
drivers/vhost/scsi.c
1336
vc.req_size = sizeof(v_req);
drivers/vhost/scsi.c
1337
vc.lunp = &v_req.lun[0];
drivers/vhost/scsi.c
1338
vc.target = &v_req.lun[1];
drivers/vhost/scsi.c
1346
ret = vhost_scsi_chk_size(vq, &vc);
drivers/vhost/scsi.c
1350
ret = vhost_scsi_get_req(vq, &vc, &tpg);
drivers/vhost/scsi.c
1373
if (vc.out_size > vc.req_size) {
drivers/vhost/scsi.c
1375
exp_data_len = vc.out_size - vc.req_size;
drivers/vhost/scsi.c
1376
data_iter = vc.out_iter;
drivers/vhost/scsi.c
1377
} else if (vc.in_size > vc.rsp_size) {
drivers/vhost/scsi.c
1379
exp_data_len = vc.in_size - vc.rsp_size;
drivers/vhost/scsi.c
1381
iov_iter_init(&in_iter, ITER_DEST, &vq->iov[vc.out], vc.in,
drivers/vhost/scsi.c
1382
vc.rsp_size + exp_data_len);
drivers/vhost/scsi.c
1383
iov_iter_advance(&in_iter, vc.rsp_size);
drivers/vhost/scsi.c
1463
ret = vhost_scsi_setup_resp_iovs(cmd, &vq->iov[vc.out], vc.in);
drivers/vhost/scsi.c
1498
cmd->tvc_vq_desc = vc.head;
drivers/vhost/scsi.c
1514
vhost_scsi_send_bad_target(vs, vq, &vc, TYPE_IO_CMD);
drivers/vhost/scsi.c
1517
vhost_scsi_send_status(vs, vq, &vc,
drivers/vhost/scsi.c
1587
struct vhost_scsi_ctx *vc,
drivers/vhost/scsi.c
1611
tmf->resp_iov = vq->iov[vc->out];
drivers/vhost/scsi.c
1612
tmf->vq_desc = vc->head;
drivers/vhost/scsi.c
1613
tmf->in_iovs = vc->in;
drivers/vhost/scsi.c
1639
vhost_scsi_send_tmf_resp(vs, vq, vc->in, vc->head, &vq->iov[vc->out],
drivers/vhost/scsi.c
1647
struct vhost_scsi_ctx *vc)
drivers/vhost/scsi.c
1657
iov_iter_init(&iov_iter, ITER_DEST, &vq->iov[vc->out], vc->in, sizeof(rsp));
drivers/vhost/scsi.c
1661
vhost_add_used_and_signal(&vs->dev, vq, vc->head, 0);
drivers/vhost/scsi.c
1675
struct vhost_scsi_ctx vc;
drivers/vhost/scsi.c
1689
memset(&vc, 0, sizeof(vc));
drivers/vhost/scsi.c
1697
ret = vhost_scsi_get_desc(vs, vq, &vc, vq_log, &log_num);
drivers/vhost/scsi.c
1705
vc.req = &v_req.type;
drivers/vhost/scsi.c
1708
if (unlikely(!copy_from_iter_full(vc.req, typ_size,
drivers/vhost/scsi.c
1709
&vc.out_iter))) {
drivers/vhost/scsi.c
1722
vc.req = &v_req.tmf;
drivers/vhost/scsi.c
1723
vc.req_size = sizeof(struct virtio_scsi_ctrl_tmf_req);
drivers/vhost/scsi.c
1724
vc.rsp_size = sizeof(struct virtio_scsi_ctrl_tmf_resp);
drivers/vhost/scsi.c
1725
vc.lunp = &v_req.tmf.lun[0];
drivers/vhost/scsi.c
1726
vc.target = &v_req.tmf.lun[1];
drivers/vhost/scsi.c
1730
vc.req = &v_req.an;
drivers/vhost/scsi.c
1731
vc.req_size = sizeof(struct virtio_scsi_ctrl_an_req);
drivers/vhost/scsi.c
1732
vc.rsp_size = sizeof(struct virtio_scsi_ctrl_an_resp);
drivers/vhost/scsi.c
1733
vc.lunp = &v_req.an.lun[0];
drivers/vhost/scsi.c
1734
vc.target = NULL;
drivers/vhost/scsi.c
1746
ret = vhost_scsi_chk_size(vq, &vc);
drivers/vhost/scsi.c
1753
vc.req += typ_size;
drivers/vhost/scsi.c
1754
vc.req_size -= typ_size;
drivers/vhost/scsi.c
1756
ret = vhost_scsi_get_req(vq, &vc, &tpg);
drivers/vhost/scsi.c
1761
vhost_scsi_handle_tmf(vs, tpg, vq, &v_req.tmf, &vc,
drivers/vhost/scsi.c
1764
vhost_scsi_send_an_resp(vs, vq, &vc);
drivers/vhost/scsi.c
1777
vhost_scsi_send_bad_target(vs, vq, &vc,
drivers/video/console/dummycon.c
100
static void dummycon_putcs(struct vc_data *vc, const u16 *s, unsigned int count,
drivers/video/console/dummycon.c
102
static bool dummycon_blank(struct vc_data *vc, enum vesa_blank_mode blank,
drivers/video/console/dummycon.c
107
static bool dummycon_switch(struct vc_data *vc)
drivers/video/console/dummycon.c
118
static void dummycon_init(struct vc_data *vc, bool init)
drivers/video/console/dummycon.c
120
vc->vc_can_do_color = 1;
drivers/video/console/dummycon.c
122
vc->vc_cols = DUMMY_COLUMNS;
drivers/video/console/dummycon.c
123
vc->vc_rows = DUMMY_ROWS;
drivers/video/console/dummycon.c
125
vc_resize(vc, DUMMY_COLUMNS, DUMMY_ROWS);
drivers/video/console/dummycon.c
128
static void dummycon_deinit(struct vc_data *vc) { }
drivers/video/console/dummycon.c
129
static void dummycon_clear(struct vc_data *vc, unsigned int sy, unsigned int sx,
drivers/video/console/dummycon.c
131
static void dummycon_cursor(struct vc_data *vc, bool enable) { }
drivers/video/console/dummycon.c
133
static bool dummycon_scroll(struct vc_data *vc, unsigned int top,
drivers/video/console/dummycon.c
53
static void dummycon_putc(struct vc_data *vc, u16 c, unsigned int y,
drivers/video/console/dummycon.c
62
static void dummycon_putcs(struct vc_data *vc, const u16 *s, unsigned int count,
drivers/video/console/dummycon.c
70
if (s[i] != vc->vc_video_erase_char)
drivers/video/console/dummycon.c
82
static bool dummycon_blank(struct vc_data *vc, enum vesa_blank_mode blank,
drivers/video/console/dummycon.c
89
static bool dummycon_switch(struct vc_data *vc)
drivers/video/console/dummycon.c
98
static void dummycon_putc(struct vc_data *vc, u16 c, unsigned int y,
drivers/video/console/newport_con.c
327
static void newport_init(struct vc_data *vc, bool init)
drivers/video/console/newport_con.c
333
vc->vc_can_do_color = 1;
drivers/video/console/newport_con.c
335
vc->vc_cols = cols;
drivers/video/console/newport_con.c
336
vc->vc_rows = rows;
drivers/video/console/newport_con.c
338
vc_resize(vc, cols, rows);
drivers/video/console/newport_con.c
349
static void newport_clear(struct vc_data *vc, unsigned int sy, unsigned int sx,
drivers/video/console/newport_con.c
361
(vc->state.color & 0xf0) >> 4);
drivers/video/console/newport_con.c
364
(vc->state.color & 0xf0) >> 4);
drivers/video/console/newport_con.c
366
(vc->state.color & 0xf0) >> 4);
drivers/video/console/newport_con.c
370
static void newport_putc(struct vc_data *vc, u16 charattr, unsigned int ypos,
drivers/video/console/newport_con.c
375
p = &font_data_buf(font_data[vc->vc_num])[(charattr & 0xff) << 4];
drivers/video/console/newport_con.c
399
static void newport_putcs(struct vc_data *vc, const u16 *s,
drivers/video/console/newport_con.c
427
p = &font_data_buf(font_data[vc->vc_num])[(scr_readw(s++) & 0xff) << 4];
drivers/video/console/newport_con.c
441
static void newport_cursor(struct vc_data *vc, bool enable)
drivers/video/console/newport_con.c
455
xcurs = (vc->vc_pos - vc->vc_visible_origin) / 2;
drivers/video/console/newport_con.c
456
ycurs = ((xcurs / vc->vc_cols) << 4) + 31;
drivers/video/console/newport_con.c
457
xcurs = ((xcurs % vc->vc_cols) << 3) + xcurs_correction;
drivers/video/console/newport_con.c
462
static bool newport_switch(struct vc_data *vc)
drivers/video/console/newport_con.c
544
static int newport_font_default(struct vc_data *vc, struct console_font *op,
drivers/video/console/newport_con.c
547
return newport_set_def_font(vc->vc_num, op);
drivers/video/console/newport_con.c
550
static int newport_font_set(struct vc_data *vc, const struct console_font *font,
drivers/video/console/newport_con.c
553
return newport_set_font(vc->vc_num, font, vpitch);
drivers/video/console/newport_con.c
556
static bool newport_scroll(struct vc_data *vc, unsigned int t, unsigned int b,
drivers/video/console/newport_con.c
565
if (t == 0 && b == vc->vc_rows) {
drivers/video/console/newport_con.c
568
newport_clear_lines(vc->vc_rows - lines,
drivers/video/console/newport_con.c
569
vc->vc_rows - 1,
drivers/video/console/newport_con.c
570
(vc->state.color & 0xf0) >> 4);
drivers/video/console/newport_con.c
574
(vc->state.color & 0xf0) >> 4);
drivers/video/console/newport_con.c
580
count = (b - t - lines) * vc->vc_cols;
drivers/video/console/newport_con.c
584
s = (unsigned short *) (vc->vc_origin +
drivers/video/console/newport_con.c
585
vc->vc_size_row * (t + lines));
drivers/video/console/newport_con.c
586
d = (unsigned short *) (vc->vc_origin +
drivers/video/console/newport_con.c
587
vc->vc_size_row * t);
drivers/video/console/newport_con.c
591
newport_putc(vc, chattr, y, x);
drivers/video/console/newport_con.c
595
if (++x == vc->vc_cols) {
drivers/video/console/newport_con.c
600
d = (unsigned short *) (vc->vc_origin +
drivers/video/console/newport_con.c
601
vc->vc_size_row * (b - lines));
drivers/video/console/newport_con.c
604
for (count = 0; count < (lines * vc->vc_cols); count++) {
drivers/video/console/newport_con.c
605
if (scr_readw(d) != vc->vc_video_erase_char) {
drivers/video/console/newport_con.c
606
newport_putc(vc, vc->vc_video_erase_char,
drivers/video/console/newport_con.c
608
scr_writew(vc->vc_video_erase_char, d);
drivers/video/console/newport_con.c
611
if (++x == vc->vc_cols) {
drivers/video/console/newport_con.c
617
x = vc->vc_cols - 1;
drivers/video/console/newport_con.c
619
s = (unsigned short *) (vc->vc_origin +
drivers/video/console/newport_con.c
620
vc->vc_size_row * (b - lines) - 2);
drivers/video/console/newport_con.c
621
d = (unsigned short *) (vc->vc_origin +
drivers/video/console/newport_con.c
622
vc->vc_size_row * b - 2);
drivers/video/console/newport_con.c
626
newport_putc(vc, chattr, y, x);
drivers/video/console/newport_con.c
631
x = vc->vc_cols - 1;
drivers/video/console/newport_con.c
635
d = (unsigned short *) (vc->vc_origin +
drivers/video/console/newport_con.c
636
vc->vc_size_row * t);
drivers/video/console/newport_con.c
639
for (count = 0; count < (lines * vc->vc_cols); count++) {
drivers/video/console/newport_con.c
640
if (scr_readw(d) != vc->vc_video_erase_char) {
drivers/video/console/newport_con.c
641
newport_putc(vc, vc->vc_video_erase_char,
drivers/video/console/newport_con.c
643
scr_writew(vc->vc_video_erase_char, d);
drivers/video/console/newport_con.c
646
if (++x == vc->vc_cols) {
drivers/video/console/newport_con.c
655
static void newport_save_screen(struct vc_data *vc) { }
drivers/video/console/sticon.c
156
static int sticon_set_font(struct vc_data *vc, const struct console_font *op,
drivers/video/console/sticon.c
161
int unit = vc->vc_num;
drivers/video/console/sticon.c
227
vc_old_rows = vc->vc_rows;
drivers/video/console/sticon.c
228
vc_old_cols = vc->vc_cols;
drivers/video/console/sticon.c
230
vc->vc_video_erase_char, font_data[vc->vc_num]);
drivers/video/console/sticon.c
240
vc_resize(vc, vc_cols, vc_rows);
drivers/video/console/sticon.c
244
update_screen(vc);
drivers/video/console/sticon.c
249
static int sticon_font_default(struct vc_data *vc, struct console_font *op,
drivers/video/console/sticon.c
252
sticon_set_def_font(vc->vc_num);
drivers/video/console/sticon.c
257
static int sticon_font_set(struct vc_data *vc, const struct console_font *font,
drivers/video/console/sticon.c
260
return sticon_set_font(vc, font, vpitch);
drivers/video/console/vgacon.c
1188
static void vgacon_clear(struct vc_data *vc, unsigned int sy, unsigned int sx,
drivers/video/console/vgacon.c
1190
static void vgacon_putcs(struct vc_data *vc, const u16 *s, unsigned int count,
drivers/video/console/vgacon.c
649
static void vga_set_palette(struct vc_data *vc, const unsigned char *table)
drivers/video/console/vgacon.c
656
vga_w(vgastate.vgabase, VGA_PEL_D, vc->vc_palette[j++] >> 2);
drivers/video/console/vgacon.c
657
vga_w(vgastate.vgabase, VGA_PEL_D, vc->vc_palette[j++] >> 2);
drivers/video/console/vgacon.c
658
vga_w(vgastate.vgabase, VGA_PEL_D, vc->vc_palette[j++] >> 2);
drivers/video/console/vgacon.c
662
static void vgacon_set_palette(struct vc_data *vc, const unsigned char *table)
drivers/video/console/vgacon.c
665
|| !con_is_visible(vc))
drivers/video/console/vgacon.c
667
vga_set_palette(vc, table);
drivers/video/console/vgacon.c
985
static int vgacon_adjust_height(struct vc_data *vc, unsigned fontheight)
drivers/video/console/vgacon.c
990
rows = vc->vc_scan_lines / fontheight; /* Number of video rows we end up with */
drivers/video/fbdev/core/bitblit.c
110
static inline void bit_putcs_unaligned(struct vc_data *vc,
drivers/video/fbdev/core/bitblit.c
117
u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/bitblit.c
118
unsigned int charcnt = vc->vc_font.charcount;
drivers/video/fbdev/core/bitblit.c
119
u32 shift_low = 0, mod = vc->vc_font.width % 8;
drivers/video/fbdev/core/bitblit.c
121
u32 idx = vc->vc_font.width >> 3;
drivers/video/fbdev/core/bitblit.c
129
src = vc->vc_font.data + (unsigned int)ch * cellsize;
drivers/video/fbdev/core/bitblit.c
132
update_attr(buf, src, attr, vc);
drivers/video/fbdev/core/bitblit.c
149
static void bit_putcs(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/bitblit.c
154
u32 width = DIV_ROUND_UP(vc->vc_font.width, 8);
drivers/video/fbdev/core/bitblit.c
155
u32 cellsize = width * vc->vc_font.height;
drivers/video/fbdev/core/bitblit.c
159
u32 mod = vc->vc_font.width % 8, cnt, pitch, size;
drivers/video/fbdev/core/bitblit.c
165
image.dx = xx * vc->vc_font.width;
drivers/video/fbdev/core/bitblit.c
166
image.dy = yy * vc->vc_font.height;
drivers/video/fbdev/core/bitblit.c
167
image.height = vc->vc_font.height;
drivers/video/fbdev/core/bitblit.c
187
image.width = vc->vc_font.width * cnt;
drivers/video/fbdev/core/bitblit.c
194
cnt = image.width / vc->vc_font.width;
drivers/video/fbdev/core/bitblit.c
197
image.width = cnt * vc->vc_font.width;
drivers/video/fbdev/core/bitblit.c
208
bit_putcs_aligned(vc, info, s, attribute, cnt, pitch,
drivers/video/fbdev/core/bitblit.c
211
bit_putcs_unaligned(vc, info, s, attribute, cnt,
drivers/video/fbdev/core/bitblit.c
215
image.dx += cnt * vc->vc_font.width;
drivers/video/fbdev/core/bitblit.c
228
static void bit_clear_margins(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/bitblit.c
231
unsigned int cw = vc->vc_font.width;
drivers/video/fbdev/core/bitblit.c
232
unsigned int ch = vc->vc_font.height;
drivers/video/fbdev/core/bitblit.c
233
unsigned int rw = info->var.xres - (vc->vc_cols*cw);
drivers/video/fbdev/core/bitblit.c
234
unsigned int bh = info->var.yres - (vc->vc_rows*ch);
drivers/video/fbdev/core/bitblit.c
25
static void update_attr(u8 *dst, const u8 *src, int attribute, struct vc_data *vc)
drivers/video/fbdev/core/bitblit.c
259
static void bit_cursor(struct vc_data *vc, struct fb_info *info, bool enable,
drivers/video/fbdev/core/bitblit.c
264
unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/bitblit.c
265
int w = DIV_ROUND_UP(vc->vc_font.width, 8), c;
drivers/video/fbdev/core/bitblit.c
266
int y = real_y(par->p, vc->state.y);
drivers/video/fbdev/core/bitblit.c
267
int attribute, use_sw = vc->vc_cursor_type & CUR_SW;
drivers/video/fbdev/core/bitblit.c
27
int i, offset = (vc->vc_font.height < 10) ? 1 : 2;
drivers/video/fbdev/core/bitblit.c
273
if (!vc->vc_font.data)
drivers/video/fbdev/core/bitblit.c
276
c = scr_readw((u16 *) vc->vc_pos);
drivers/video/fbdev/core/bitblit.c
278
src = vc->vc_font.data + ((c & charmask) * (w * vc->vc_font.height));
drivers/video/fbdev/core/bitblit.c
28
int width = DIV_ROUND_UP(vc->vc_font.width, 8);
drivers/video/fbdev/core/bitblit.c
289
dst = kmalloc_array(w, vc->vc_font.height, GFP_ATOMIC);
drivers/video/fbdev/core/bitblit.c
29
unsigned int cellsize = vc->vc_font.height * width;
drivers/video/fbdev/core/bitblit.c
294
update_attr(dst, src, attribute, vc);
drivers/video/fbdev/core/bitblit.c
306
if ((par->cursor_state.image.dx != (vc->vc_font.width * vc->state.x)) ||
drivers/video/fbdev/core/bitblit.c
307
(par->cursor_state.image.dy != (vc->vc_font.height * y)) ||
drivers/video/fbdev/core/bitblit.c
309
par->cursor_state.image.dx = vc->vc_font.width * vc->state.x;
drivers/video/fbdev/core/bitblit.c
310
par->cursor_state.image.dy = vc->vc_font.height * y;
drivers/video/fbdev/core/bitblit.c
314
if (par->cursor_state.image.height != vc->vc_font.height ||
drivers/video/fbdev/core/bitblit.c
315
par->cursor_state.image.width != vc->vc_font.width ||
drivers/video/fbdev/core/bitblit.c
317
par->cursor_state.image.height = vc->vc_font.height;
drivers/video/fbdev/core/bitblit.c
318
par->cursor_state.image.width = vc->vc_font.width;
drivers/video/fbdev/core/bitblit.c
329
vc->vc_cursor_type != par->p->cursor_shape ||
drivers/video/fbdev/core/bitblit.c
332
unsigned char *mask = kmalloc_array(vc->vc_font.height, w, GFP_ATOMIC);
drivers/video/fbdev/core/bitblit.c
336
fbcon_fill_cursor_mask(par, vc, mask);
drivers/video/fbdev/core/bitblit.c
341
par->p->cursor_shape = vc->vc_cursor_type;
drivers/video/fbdev/core/bitblit.c
45
static void bit_bmove(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/bitblit.c
50
area.sx = sx * vc->vc_font.width;
drivers/video/fbdev/core/bitblit.c
51
area.sy = sy * vc->vc_font.height;
drivers/video/fbdev/core/bitblit.c
52
area.dx = dx * vc->vc_font.width;
drivers/video/fbdev/core/bitblit.c
53
area.dy = dy * vc->vc_font.height;
drivers/video/fbdev/core/bitblit.c
54
area.height = height * vc->vc_font.height;
drivers/video/fbdev/core/bitblit.c
55
area.width = width * vc->vc_font.width;
drivers/video/fbdev/core/bitblit.c
60
static void bit_clear(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/bitblit.c
66
region.dx = sx * vc->vc_font.width;
drivers/video/fbdev/core/bitblit.c
67
region.dy = sy * vc->vc_font.height;
drivers/video/fbdev/core/bitblit.c
68
region.width = width * vc->vc_font.width;
drivers/video/fbdev/core/bitblit.c
69
region.height = height * vc->vc_font.height;
drivers/video/fbdev/core/bitblit.c
75
static inline void bit_putcs_aligned(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/bitblit.c
80
u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/bitblit.c
81
unsigned int charcnt = vc->vc_font.charcount;
drivers/video/fbdev/core/bitblit.c
82
u32 idx = vc->vc_font.width >> 3;
drivers/video/fbdev/core/bitblit.c
90
src = vc->vc_font.data + (unsigned int)ch * cellsize;
drivers/video/fbdev/core/bitblit.c
93
update_attr(buf, src, attr, vc);
drivers/video/fbdev/core/fbcon.c
1018
struct vc_data *vc = vc_cons[fg_console].d;
drivers/video/fbdev/core/fbcon.c
1054
set_blitting_type(vc, info);
drivers/video/fbdev/core/fbcon.c
1063
vc->vc_font.width = font->width;
drivers/video/fbdev/core/fbcon.c
1064
vc->vc_font.height = font->height;
drivers/video/fbdev/core/fbcon.c
1065
vc->vc_font.data = font_data_buf(font->data);
drivers/video/fbdev/core/fbcon.c
1066
vc->vc_font.charcount = font->charcount;
drivers/video/fbdev/core/fbcon.c
1074
cols /= vc->vc_font.width;
drivers/video/fbdev/core/fbcon.c
1075
rows /= vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
1076
vc_resize(vc, cols, rows);
drivers/video/fbdev/core/fbcon.c
1088
static void fbcon_init(struct vc_data *vc, bool init)
drivers/video/fbdev/core/fbcon.c
1092
struct vc_data **default_mode = vc->vc_display_fg;
drivers/video/fbdev/core/fbcon.c
1094
struct fbcon_display *t, *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1101
if (con2fb_map[vc->vc_num] == -1)
drivers/video/fbdev/core/fbcon.c
1102
con2fb_map[vc->vc_num] = info_idx;
drivers/video/fbdev/core/fbcon.c
1104
info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1109
if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW ||
drivers/video/fbdev/core/fbcon.c
1117
if (con2fb_acquire_newinfo(vc, info, vc->vc_num))
drivers/video/fbdev/core/fbcon.c
1127
vc->vc_font.data = fvc->vc_font.data;
drivers/video/fbdev/core/fbcon.c
1128
vc->vc_font.width = fvc->vc_font.width;
drivers/video/fbdev/core/fbcon.c
1129
vc->vc_font.height = fvc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
1130
vc->vc_font.charcount = fvc->vc_font.charcount;
drivers/video/fbdev/core/fbcon.c
1142
vc->vc_font.width = font->width;
drivers/video/fbdev/core/fbcon.c
1143
vc->vc_font.height = font->height;
drivers/video/fbdev/core/fbcon.c
1144
vc->vc_font.data = font_data_buf(font->data);
drivers/video/fbdev/core/fbcon.c
1145
vc->vc_font.charcount = font->charcount;
drivers/video/fbdev/core/fbcon.c
1152
vc->vc_can_do_color = (fb_get_color_depth(&info->var, &info->fix)!=1);
drivers/video/fbdev/core/fbcon.c
1153
vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800;
drivers/video/fbdev/core/fbcon.c
1154
if (vc->vc_font.charcount == 256) {
drivers/video/fbdev/core/fbcon.c
1155
vc->vc_hi_font_mask = 0;
drivers/video/fbdev/core/fbcon.c
1157
vc->vc_hi_font_mask = 0x100;
drivers/video/fbdev/core/fbcon.c
1158
if (vc->vc_can_do_color)
drivers/video/fbdev/core/fbcon.c
1159
vc->vc_complement_mask <<= 1;
drivers/video/fbdev/core/fbcon.c
1164
if (!*vc->uni_pagedict_loc)
drivers/video/fbdev/core/fbcon.c
1165
con_copy_unimap(vc, svc);
drivers/video/fbdev/core/fbcon.c
1168
par->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms);
drivers/video/fbdev/core/fbcon.c
1176
set_blitting_type(vc, info);
drivers/video/fbdev/core/fbcon.c
1178
cols = vc->vc_cols;
drivers/video/fbdev/core/fbcon.c
1179
rows = vc->vc_rows;
drivers/video/fbdev/core/fbcon.c
1182
new_cols /= vc->vc_font.width;
drivers/video/fbdev/core/fbcon.c
1183
new_rows /= vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
1192
if (con_is_visible(vc) && vc->vc_mode == KD_TEXT) {
drivers/video/fbdev/core/fbcon.c
1221
vc->vc_cols = new_cols;
drivers/video/fbdev/core/fbcon.c
1222
vc->vc_rows = new_rows;
drivers/video/fbdev/core/fbcon.c
1224
vc_resize(vc, new_cols, new_rows);
drivers/video/fbdev/core/fbcon.c
1227
fbcon_prepare_logo(vc, info, cols, rows, new_cols, new_rows);
drivers/video/fbdev/core/fbcon.c
1229
if (par->bitops->rotate_font && par->bitops->rotate_font(info, vc)) {
drivers/video/fbdev/core/fbcon.c
1231
set_blitting_type(vc, info);
drivers/video/fbdev/core/fbcon.c
1245
static void set_vc_hi_font(struct vc_data *vc, bool set);
drivers/video/fbdev/core/fbcon.c
1268
static void fbcon_deinit(struct vc_data *vc)
drivers/video/fbdev/core/fbcon.c
1270
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1277
idx = con2fb_map[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1292
if (con_is_visible(vc))
drivers/video/fbdev/core/fbcon.c
1299
vc->vc_font.data = NULL;
drivers/video/fbdev/core/fbcon.c
1301
if (vc->vc_hi_font_mask && vc->vc_screenbuf)
drivers/video/fbdev/core/fbcon.c
1302
set_vc_hi_font(vc, false);
drivers/video/fbdev/core/fbcon.c
1307
if (vc->vc_num == logo_shown)
drivers/video/fbdev/core/fbcon.c
1338
static void __fbcon_clear(struct vc_data *vc, unsigned int sy, unsigned int sx,
drivers/video/fbdev/core/fbcon.c
1341
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1344
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1347
if (!fbcon_is_active(vc, info))
drivers/video/fbdev/core/fbcon.c
1353
if (sy < vc->vc_top && vc->vc_top == logo_lines) {
drivers/video/fbdev/core/fbcon.c
1354
vc->vc_top = 0;
drivers/video/fbdev/core/fbcon.c
1361
fbcon_clear_margins(vc, 0);
drivers/video/fbdev/core/fbcon.c
1364
fg = get_color(vc, info, vc->vc_video_erase_char, 1);
drivers/video/fbdev/core/fbcon.c
1365
bg = get_color(vc, info, vc->vc_video_erase_char, 0);
drivers/video/fbdev/core/fbcon.c
1371
par->bitops->clear(vc, info, real_y(p, sy), sx, b, width, fg, bg);
drivers/video/fbdev/core/fbcon.c
1372
par->bitops->clear(vc, info, real_y(p, sy + b), sx, height - b,
drivers/video/fbdev/core/fbcon.c
1375
par->bitops->clear(vc, info, real_y(p, sy), sx, height, width, fg, bg);
drivers/video/fbdev/core/fbcon.c
1378
static void fbcon_clear(struct vc_data *vc, unsigned int sy, unsigned int sx,
drivers/video/fbdev/core/fbcon.c
1381
__fbcon_clear(vc, sy, sx, 1, width);
drivers/video/fbdev/core/fbcon.c
1384
static void fbcon_putcs(struct vc_data *vc, const u16 *s, unsigned int count,
drivers/video/fbdev/core/fbcon.c
1387
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1388
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1391
if (fbcon_is_active(vc, info))
drivers/video/fbdev/core/fbcon.c
1392
par->bitops->putcs(vc, info, s, count, real_y(p, ypos), xpos,
drivers/video/fbdev/core/fbcon.c
1393
get_fg_color(vc, info, scr_readw(s)),
drivers/video/fbdev/core/fbcon.c
1394
get_bg_color(vc, info, scr_readw(s)));
drivers/video/fbdev/core/fbcon.c
1397
static void fbcon_clear_margins(struct vc_data *vc, int bottom_only)
drivers/video/fbdev/core/fbcon.c
1399
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1402
if (fbcon_is_active(vc, info))
drivers/video/fbdev/core/fbcon.c
1403
par->bitops->clear_margins(vc, info, margin_color, bottom_only);
drivers/video/fbdev/core/fbcon.c
1406
static void fbcon_cursor(struct vc_data *vc, bool enable)
drivers/video/fbdev/core/fbcon.c
1408
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1410
int c = scr_readw((u16 *) vc->vc_pos);
drivers/video/fbdev/core/fbcon.c
1412
par->cur_blink_jiffies = msecs_to_jiffies(vc->vc_cur_blink_ms);
drivers/video/fbdev/core/fbcon.c
1414
if (!fbcon_is_active(vc, info) || vc->vc_deccm != 1)
drivers/video/fbdev/core/fbcon.c
1417
if (vc->vc_cursor_type & CUR_SW)
drivers/video/fbdev/core/fbcon.c
1427
par->bitops->cursor(vc, info, enable,
drivers/video/fbdev/core/fbcon.c
1428
get_fg_color(vc, info, c),
drivers/video/fbdev/core/fbcon.c
1429
get_bg_color(vc, info, c));
drivers/video/fbdev/core/fbcon.c
1440
struct vc_data **default_mode, *vc;
drivers/video/fbdev/core/fbcon.c
1447
vc = vc_cons[unit].d;
drivers/video/fbdev/core/fbcon.c
1449
if (!vc)
drivers/video/fbdev/core/fbcon.c
1455
default_mode = vc->vc_display_fg;
drivers/video/fbdev/core/fbcon.c
1460
vc->vc_font.data = font_data_buf(t->fontdata);
drivers/video/fbdev/core/fbcon.c
1461
vc->vc_font.width = (*default_mode)->vc_font.width;
drivers/video/fbdev/core/fbcon.c
1462
vc->vc_font.height = (*default_mode)->vc_font.height;
drivers/video/fbdev/core/fbcon.c
1463
vc->vc_font.charcount = (*default_mode)->vc_font.charcount;
drivers/video/fbdev/core/fbcon.c
1474
vc->vc_can_do_color = (fb_get_color_depth(&info->var, &info->fix)!=1);
drivers/video/fbdev/core/fbcon.c
1475
vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800;
drivers/video/fbdev/core/fbcon.c
1476
if (vc->vc_font.charcount == 256) {
drivers/video/fbdev/core/fbcon.c
1477
vc->vc_hi_font_mask = 0;
drivers/video/fbdev/core/fbcon.c
1479
vc->vc_hi_font_mask = 0x100;
drivers/video/fbdev/core/fbcon.c
1480
if (vc->vc_can_do_color)
drivers/video/fbdev/core/fbcon.c
1481
vc->vc_complement_mask <<= 1;
drivers/video/fbdev/core/fbcon.c
1486
if (!*vc->uni_pagedict_loc)
drivers/video/fbdev/core/fbcon.c
1487
con_copy_unimap(vc, svc);
drivers/video/fbdev/core/fbcon.c
1491
cols /= vc->vc_font.width;
drivers/video/fbdev/core/fbcon.c
1492
rows /= vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
1493
ret = vc_resize(vc, cols, rows);
drivers/video/fbdev/core/fbcon.c
1495
if (con_is_visible(vc) && !ret)
drivers/video/fbdev/core/fbcon.c
1496
update_screen(vc);
drivers/video/fbdev/core/fbcon.c
1499
static __inline__ void ywrap_up(struct vc_data *vc, int count)
drivers/video/fbdev/core/fbcon.c
1501
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1503
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1509
par->var.yoffset = p->yscroll * vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
1518
static __inline__ void ywrap_down(struct vc_data *vc, int count)
drivers/video/fbdev/core/fbcon.c
1520
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1522
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1528
par->var.yoffset = p->yscroll * vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
1537
static __inline__ void ypan_up(struct vc_data *vc, int count)
drivers/video/fbdev/core/fbcon.c
1539
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1540
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1544
if (p->yscroll > p->vrows - vc->vc_rows) {
drivers/video/fbdev/core/fbcon.c
1545
par->bitops->bmove(vc, info, p->vrows - vc->vc_rows,
drivers/video/fbdev/core/fbcon.c
1546
0, 0, 0, vc->vc_rows, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1547
p->yscroll -= p->vrows - vc->vc_rows;
drivers/video/fbdev/core/fbcon.c
1551
par->var.yoffset = p->yscroll * vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
1554
fbcon_clear_margins(vc, 1);
drivers/video/fbdev/core/fbcon.c
1561
static __inline__ void ypan_up_redraw(struct vc_data *vc, int t, int count)
drivers/video/fbdev/core/fbcon.c
1563
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1565
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1569
if (p->yscroll > p->vrows - vc->vc_rows) {
drivers/video/fbdev/core/fbcon.c
1570
p->yscroll -= p->vrows - vc->vc_rows;
drivers/video/fbdev/core/fbcon.c
1571
fbcon_redraw_move(vc, p, t + count, vc->vc_rows - count, t);
drivers/video/fbdev/core/fbcon.c
1575
par->var.yoffset = p->yscroll * vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
1578
fbcon_clear_margins(vc, 1);
drivers/video/fbdev/core/fbcon.c
1585
static __inline__ void ypan_down(struct vc_data *vc, int count)
drivers/video/fbdev/core/fbcon.c
1587
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1588
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1593
par->bitops->bmove(vc, info, 0, 0, p->vrows - vc->vc_rows,
drivers/video/fbdev/core/fbcon.c
1594
0, vc->vc_rows, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1595
p->yscroll += p->vrows - vc->vc_rows;
drivers/video/fbdev/core/fbcon.c
1599
par->var.yoffset = p->yscroll * vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
1602
fbcon_clear_margins(vc, 1);
drivers/video/fbdev/core/fbcon.c
1609
static __inline__ void ypan_down_redraw(struct vc_data *vc, int t, int count)
drivers/video/fbdev/core/fbcon.c
1611
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1613
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1618
p->yscroll += p->vrows - vc->vc_rows;
drivers/video/fbdev/core/fbcon.c
1619
fbcon_redraw_move(vc, p, t, vc->vc_rows - count, t + count);
drivers/video/fbdev/core/fbcon.c
1623
par->var.yoffset = p->yscroll * vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
1626
fbcon_clear_margins(vc, 1);
drivers/video/fbdev/core/fbcon.c
1633
static void fbcon_redraw_move(struct vc_data *vc, struct fbcon_display *p,
drivers/video/fbdev/core/fbcon.c
1637
(vc->vc_origin + vc->vc_size_row * line);
drivers/video/fbdev/core/fbcon.c
1651
fbcon_putcs(vc, start, s - start,
drivers/video/fbdev/core/fbcon.c
1660
fbcon_putcs(vc, start, s - start, dy, x);
drivers/video/fbdev/core/fbcon.c
1665
static void fbcon_redraw_blit(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon.c
1668
int offset = ycount * vc->vc_cols;
drivers/video/fbdev/core/fbcon.c
1670
(vc->vc_origin + vc->vc_size_row * line);
drivers/video/fbdev/core/fbcon.c
1685
par->bitops->bmove(vc, info, line + ycount, x,
drivers/video/fbdev/core/fbcon.c
1700
par->bitops->bmove(vc, info, line + ycount, x, line, x, 1,
drivers/video/fbdev/core/fbcon.c
1707
s -= vc->vc_size_row;
drivers/video/fbdev/core/fbcon.c
1708
d -= vc->vc_size_row;
drivers/video/fbdev/core/fbcon.c
1713
static void fbcon_redraw(struct vc_data *vc, int line, int count, int offset)
drivers/video/fbdev/core/fbcon.c
1716
(vc->vc_origin + vc->vc_size_row * line);
drivers/video/fbdev/core/fbcon.c
1731
fbcon_putcs(vc, start, s - start,
drivers/video/fbdev/core/fbcon.c
1739
fbcon_putcs(vc, start, s - start,
drivers/video/fbdev/core/fbcon.c
175
#define advance_row(p, delta) (unsigned short *)((unsigned long)(p) + (delta) * vc->vc_size_row)
drivers/video/fbdev/core/fbcon.c
1753
fbcon_putcs(vc, start, s - start, line, x);
drivers/video/fbdev/core/fbcon.c
1759
s -= vc->vc_size_row;
drivers/video/fbdev/core/fbcon.c
1760
d -= vc->vc_size_row;
drivers/video/fbdev/core/fbcon.c
1765
static void fbcon_bmove_rec(struct vc_data *vc, struct fbcon_display *p, int sy, int sx,
drivers/video/fbdev/core/fbcon.c
1768
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1775
fbcon_bmove_rec(vc, p, sy, sx, dy, dx, b, width,
drivers/video/fbdev/core/fbcon.c
1777
fbcon_bmove_rec(vc, p, sy + b, sx, dy + b, dx,
drivers/video/fbdev/core/fbcon.c
1780
fbcon_bmove_rec(vc, p, sy + b, sx, dy + b, dx,
drivers/video/fbdev/core/fbcon.c
1782
fbcon_bmove_rec(vc, p, sy, sx, dy, dx, b, width,
drivers/video/fbdev/core/fbcon.c
1791
fbcon_bmove_rec(vc, p, sy, sx, dy, dx, b, width,
drivers/video/fbdev/core/fbcon.c
1793
fbcon_bmove_rec(vc, p, sy + b, sx, dy + b, dx,
drivers/video/fbdev/core/fbcon.c
1796
fbcon_bmove_rec(vc, p, sy + b, sx, dy + b, dx,
drivers/video/fbdev/core/fbcon.c
1798
fbcon_bmove_rec(vc, p, sy, sx, dy, dx, b, width,
drivers/video/fbdev/core/fbcon.c
1803
par->bitops->bmove(vc, info, real_y(p, sy), sx, real_y(p, dy), dx,
drivers/video/fbdev/core/fbcon.c
1807
static void fbcon_bmove(struct vc_data *vc, int sy, int sx, int dy, int dx,
drivers/video/fbdev/core/fbcon.c
1810
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1811
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1813
if (!fbcon_is_active(vc, info))
drivers/video/fbdev/core/fbcon.c
1826
fbcon_bmove_rec(vc, p, sy, sx, dy, dx, height, width,
drivers/video/fbdev/core/fbcon.c
1830
static bool fbcon_scroll(struct vc_data *vc, unsigned int t, unsigned int b,
drivers/video/fbdev/core/fbcon.c
1833
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
1834
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
1837
if (!fbcon_is_active(vc, info))
drivers/video/fbdev/core/fbcon.c
1840
fbcon_cursor(vc, false);
drivers/video/fbdev/core/fbcon.c
185
static void fbcon_clear_margins(struct vc_data *vc, int bottom_only);
drivers/video/fbdev/core/fbcon.c
1850
if (count > vc->vc_rows) /* Maximum realistic size */
drivers/video/fbdev/core/fbcon.c
1851
count = vc->vc_rows;
drivers/video/fbdev/core/fbcon.c
1854
fbcon_redraw_blit(vc, info, p, t, b - t - count,
drivers/video/fbdev/core/fbcon.c
1856
__fbcon_clear(vc, b - count, 0, count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1857
scr_memsetw((unsigned short *) (vc->vc_origin +
drivers/video/fbdev/core/fbcon.c
1858
vc->vc_size_row *
drivers/video/fbdev/core/fbcon.c
186
static void fbcon_set_palette(struct vc_data *vc, const unsigned char *table);
drivers/video/fbdev/core/fbcon.c
1860
vc->vc_video_erase_char,
drivers/video/fbdev/core/fbcon.c
1861
vc->vc_size_row * count);
drivers/video/fbdev/core/fbcon.c
1865
if (b - t - count > 3 * vc->vc_rows >> 2) {
drivers/video/fbdev/core/fbcon.c
1867
fbcon_bmove(vc, 0, 0, count, 0, t,
drivers/video/fbdev/core/fbcon.c
1868
vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1869
ywrap_up(vc, count);
drivers/video/fbdev/core/fbcon.c
1870
if (vc->vc_rows - b > 0)
drivers/video/fbdev/core/fbcon.c
1871
fbcon_bmove(vc, b - count, 0, b, 0,
drivers/video/fbdev/core/fbcon.c
1872
vc->vc_rows - b,
drivers/video/fbdev/core/fbcon.c
1873
vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1875
fbcon_bmove(vc, t + count, 0, t, 0,
drivers/video/fbdev/core/fbcon.c
1876
b - t - count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1879
__fbcon_clear(vc, b - count, 0, count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1884
2 * (p->vrows - vc->vc_rows))
drivers/video/fbdev/core/fbcon.c
1885
&& ((!scroll_partial && (b - t == vc->vc_rows))
drivers/video/fbdev/core/fbcon.c
1888
3 * vc->vc_rows >> 2)))) {
drivers/video/fbdev/core/fbcon.c
1890
fbcon_redraw_move(vc, p, 0, t, count);
drivers/video/fbdev/core/fbcon.c
1891
ypan_up_redraw(vc, t, count);
drivers/video/fbdev/core/fbcon.c
1892
if (vc->vc_rows - b > 0)
drivers/video/fbdev/core/fbcon.c
1893
fbcon_redraw_move(vc, p, b,
drivers/video/fbdev/core/fbcon.c
1894
vc->vc_rows - b, b);
drivers/video/fbdev/core/fbcon.c
1896
fbcon_redraw_move(vc, p, t + count, b - t - count, t);
drivers/video/fbdev/core/fbcon.c
1897
__fbcon_clear(vc, b - count, 0, count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1902
2 * (p->vrows - vc->vc_rows))
drivers/video/fbdev/core/fbcon.c
1903
&& ((!scroll_partial && (b - t == vc->vc_rows))
drivers/video/fbdev/core/fbcon.c
1906
3 * vc->vc_rows >> 2)))) {
drivers/video/fbdev/core/fbcon.c
1908
fbcon_bmove(vc, 0, 0, count, 0, t,
drivers/video/fbdev/core/fbcon.c
1909
vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1910
ypan_up(vc, count);
drivers/video/fbdev/core/fbcon.c
1911
if (vc->vc_rows - b > 0)
drivers/video/fbdev/core/fbcon.c
1912
fbcon_bmove(vc, b - count, 0, b, 0,
drivers/video/fbdev/core/fbcon.c
1913
vc->vc_rows - b,
drivers/video/fbdev/core/fbcon.c
1914
vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1916
fbcon_bmove(vc, t + count, 0, t, 0,
drivers/video/fbdev/core/fbcon.c
1917
b - t - count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1920
__fbcon_clear(vc, b - count, 0, count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1925
fbcon_redraw(vc, t, b - t - count,
drivers/video/fbdev/core/fbcon.c
1926
count * vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1927
__fbcon_clear(vc, b - count, 0, count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1928
scr_memsetw((unsigned short *) (vc->vc_origin +
drivers/video/fbdev/core/fbcon.c
1929
vc->vc_size_row *
drivers/video/fbdev/core/fbcon.c
193
static void fbcon_redraw_move(struct vc_data *vc, struct fbcon_display *p,
drivers/video/fbdev/core/fbcon.c
1931
vc->vc_video_erase_char,
drivers/video/fbdev/core/fbcon.c
1932
vc->vc_size_row * count);
drivers/video/fbdev/core/fbcon.c
1938
if (count > vc->vc_rows) /* Maximum realistic size */
drivers/video/fbdev/core/fbcon.c
1939
count = vc->vc_rows;
drivers/video/fbdev/core/fbcon.c
1942
fbcon_redraw_blit(vc, info, p, b - 1, b - t - count,
drivers/video/fbdev/core/fbcon.c
1944
__fbcon_clear(vc, t, 0, count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1945
scr_memsetw((unsigned short *) (vc->vc_origin +
drivers/video/fbdev/core/fbcon.c
1946
vc->vc_size_row *
drivers/video/fbdev/core/fbcon.c
1948
vc->vc_video_erase_char,
drivers/video/fbdev/core/fbcon.c
1949
vc->vc_size_row * count);
drivers/video/fbdev/core/fbcon.c
1953
if (b - t - count > 3 * vc->vc_rows >> 2) {
drivers/video/fbdev/core/fbcon.c
1954
if (vc->vc_rows - b > 0)
drivers/video/fbdev/core/fbcon.c
1955
fbcon_bmove(vc, b, 0, b - count, 0,
drivers/video/fbdev/core/fbcon.c
1956
vc->vc_rows - b,
drivers/video/fbdev/core/fbcon.c
1957
vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1958
ywrap_down(vc, count);
drivers/video/fbdev/core/fbcon.c
1960
fbcon_bmove(vc, count, 0, 0, 0, t,
drivers/video/fbdev/core/fbcon.c
1961
vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1963
fbcon_bmove(vc, t, 0, t + count, 0,
drivers/video/fbdev/core/fbcon.c
1964
b - t - count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1967
__fbcon_clear(vc, t, 0, count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1971
if ((count - p->yscroll <= p->vrows - vc->vc_rows)
drivers/video/fbdev/core/fbcon.c
1972
&& ((!scroll_partial && (b - t == vc->vc_rows))
drivers/video/fbdev/core/fbcon.c
1975
3 * vc->vc_rows >> 2)))) {
drivers/video/fbdev/core/fbcon.c
1976
if (vc->vc_rows - b > 0)
drivers/video/fbdev/core/fbcon.c
1977
fbcon_bmove(vc, b, 0, b - count, 0,
drivers/video/fbdev/core/fbcon.c
1978
vc->vc_rows - b,
drivers/video/fbdev/core/fbcon.c
1979
vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1980
ypan_down(vc, count);
drivers/video/fbdev/core/fbcon.c
1982
fbcon_bmove(vc, count, 0, 0, 0, t,
drivers/video/fbdev/core/fbcon.c
1983
vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1985
fbcon_bmove(vc, t, 0, t + count, 0,
drivers/video/fbdev/core/fbcon.c
1986
b - t - count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1989
__fbcon_clear(vc, t, 0, count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
1993
if ((count - p->yscroll <= p->vrows - vc->vc_rows)
drivers/video/fbdev/core/fbcon.c
1994
&& ((!scroll_partial && (b - t == vc->vc_rows))
drivers/video/fbdev/core/fbcon.c
1997
3 * vc->vc_rows >> 2)))) {
drivers/video/fbdev/core/fbcon.c
1998
if (vc->vc_rows - b > 0)
drivers/video/fbdev/core/fbcon.c
1999
fbcon_redraw_move(vc, p, b, vc->vc_rows - b,
drivers/video/fbdev/core/fbcon.c
2001
ypan_down_redraw(vc, t, count);
drivers/video/fbdev/core/fbcon.c
2003
fbcon_redraw_move(vc, p, count, t, 0);
drivers/video/fbdev/core/fbcon.c
2005
fbcon_redraw_move(vc, p, t, b - t - count, t + count);
drivers/video/fbdev/core/fbcon.c
2006
__fbcon_clear(vc, t, 0, count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
2011
fbcon_redraw(vc, b - 1, b - t - count,
drivers/video/fbdev/core/fbcon.c
2012
-count * vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
2013
__fbcon_clear(vc, t, 0, count, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
2014
scr_memsetw((unsigned short *) (vc->vc_origin +
drivers/video/fbdev/core/fbcon.c
2015
vc->vc_size_row *
drivers/video/fbdev/core/fbcon.c
2017
vc->vc_video_erase_char,
drivers/video/fbdev/core/fbcon.c
2018
vc->vc_size_row * count);
drivers/video/fbdev/core/fbcon.c
2028
struct vc_data *vc)
drivers/video/fbdev/core/fbcon.c
2039
divides(ypan, vc->vc_font.height) && vyres > yres;
drivers/video/fbdev/core/fbcon.c
2041
divides(ywrap, vc->vc_font.height) &&
drivers/video/fbdev/core/fbcon.c
2042
divides(vc->vc_font.height, vyres) &&
drivers/video/fbdev/core/fbcon.c
2043
divides(vc->vc_font.height, yres);
drivers/video/fbdev/core/fbcon.c
2068
struct vc_data *vc)
drivers/video/fbdev/core/fbcon.c
2071
int fh = vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
2076
if (yres > (fh * (vc->vc_rows + 1)))
drivers/video/fbdev/core/fbcon.c
2077
p->vrows -= (yres - (fh * vc->vc_rows)) / fh;
drivers/video/fbdev/core/fbcon.c
2082
updatescrollmode_accel(p, info, vc);
drivers/video/fbdev/core/fbcon.c
2085
static int fbcon_resize(struct vc_data *vc, unsigned int width,
drivers/video/fbdev/core/fbcon.c
2088
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
2090
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
2095
unsigned int size = vc_font_size(&vc->vc_font);
drivers/video/fbdev/core/fbcon.c
2110
virt_fw = FBCON_SWAP(par->rotate, vc->vc_font.width, vc->vc_font.height);
drivers/video/fbdev/core/fbcon.c
2111
virt_fh = FBCON_SWAP(par->rotate, vc->vc_font.height, vc->vc_font.width);
drivers/video/fbdev/core/fbcon.c
2131
if (con_is_visible(vc) && vc->vc_mode == KD_TEXT) {
drivers/video/fbdev/core/fbcon.c
2139
updatescrollmode(p, info, vc);
drivers/video/fbdev/core/fbcon.c
2143
static bool fbcon_switch(struct vc_data *vc)
drivers/video/fbdev/core/fbcon.c
2147
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
2151
info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
2178
par->currcon = vc->vc_num;
drivers/video/fbdev/core/fbcon.c
2209
if (!fbcon_is_active(vc, info) || par->blank_state != FB_BLANK_UNBLANK)
drivers/video/fbdev/core/fbcon.c
2214
set_blitting_type(vc, info);
drivers/video/fbdev/core/fbcon.c
2217
if (par->bitops->rotate_font && par->bitops->rotate_font(info, vc)) {
drivers/video/fbdev/core/fbcon.c
2219
set_blitting_type(vc, info);
drivers/video/fbdev/core/fbcon.c
2222
vc->vc_can_do_color = (fb_get_color_depth(&info->var, &info->fix)!=1);
drivers/video/fbdev/core/fbcon.c
2223
vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800;
drivers/video/fbdev/core/fbcon.c
2225
if (vc->vc_font.charcount > 256)
drivers/video/fbdev/core/fbcon.c
2226
vc->vc_complement_mask <<= 1;
drivers/video/fbdev/core/fbcon.c
2228
updatescrollmode(p, info, vc);
drivers/video/fbdev/core/fbcon.c
2232
scrollback_phys_max = p->vrows - vc->vc_rows;
drivers/video/fbdev/core/fbcon.c
2236
scrollback_phys_max = p->vrows - 2 * vc->vc_rows;
drivers/video/fbdev/core/fbcon.c
2248
if (fbcon_is_active(vc, info)) {
drivers/video/fbdev/core/fbcon.c
2253
fbcon_set_palette(vc, color_table);
drivers/video/fbdev/core/fbcon.c
2254
fbcon_clear_margins(vc, 0);
drivers/video/fbdev/core/fbcon.c
2260
update_region(vc,
drivers/video/fbdev/core/fbcon.c
2261
vc->vc_origin + vc->vc_size_row * vc->vc_top,
drivers/video/fbdev/core/fbcon.c
2262
vc->vc_size_row * (vc->vc_bottom -
drivers/video/fbdev/core/fbcon.c
2263
vc->vc_top) / 2);
drivers/video/fbdev/core/fbcon.c
2269
static void fbcon_generic_blank(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon.c
2273
unsigned short charmask = vc->vc_hi_font_mask ?
drivers/video/fbdev/core/fbcon.c
2277
oldc = vc->vc_video_erase_char;
drivers/video/fbdev/core/fbcon.c
2278
vc->vc_video_erase_char &= charmask;
drivers/video/fbdev/core/fbcon.c
2279
__fbcon_clear(vc, 0, 0, vc->vc_rows, vc->vc_cols);
drivers/video/fbdev/core/fbcon.c
2280
vc->vc_video_erase_char = oldc;
drivers/video/fbdev/core/fbcon.c
2284
static bool fbcon_blank(struct vc_data *vc, enum vesa_blank_mode blank,
drivers/video/fbdev/core/fbcon.c
2287
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
2304
if (fbcon_is_active(vc, info)) {
drivers/video/fbdev/core/fbcon.c
2307
fbcon_cursor(vc, !blank);
drivers/video/fbdev/core/fbcon.c
2311
fbcon_generic_blank(vc, info, blank);
drivers/video/fbdev/core/fbcon.c
2315
update_screen(vc);
drivers/video/fbdev/core/fbcon.c
2318
if (mode_switch || !fbcon_is_active(vc, info) || par->blank_state != FB_BLANK_UNBLANK)
drivers/video/fbdev/core/fbcon.c
2326
static int fbcon_get_font(struct vc_data *vc, struct console_font *font, unsigned int vpitch)
drivers/video/fbdev/core/fbcon.c
2328
const struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
2330
font->width = vc->vc_font.width;
drivers/video/fbdev/core/fbcon.c
2331
font->height = vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
2334
font->charcount = vc->vc_hi_font_mask ? 512 : 256;
drivers/video/fbdev/core/fbcon.c
2340
static void set_vc_hi_font(struct vc_data *vc, bool set)
drivers/video/fbdev/core/fbcon.c
2343
vc->vc_hi_font_mask = 0;
drivers/video/fbdev/core/fbcon.c
2344
if (vc->vc_can_do_color) {
drivers/video/fbdev/core/fbcon.c
2345
vc->vc_complement_mask >>= 1;
drivers/video/fbdev/core/fbcon.c
2346
vc->vc_s_complement_mask >>= 1;
drivers/video/fbdev/core/fbcon.c
2350
if (vc->vc_can_do_color) {
drivers/video/fbdev/core/fbcon.c
2352
(unsigned short *) vc->vc_origin;
drivers/video/fbdev/core/fbcon.c
2353
int count = vc->vc_screenbuf_size / 2;
drivers/video/fbdev/core/fbcon.c
2360
c = vc->vc_video_erase_char;
drivers/video/fbdev/core/fbcon.c
2361
vc->vc_video_erase_char =
drivers/video/fbdev/core/fbcon.c
2363
vc->vc_attr >>= 1;
drivers/video/fbdev/core/fbcon.c
2366
vc->vc_hi_font_mask = 0x100;
drivers/video/fbdev/core/fbcon.c
2367
if (vc->vc_can_do_color) {
drivers/video/fbdev/core/fbcon.c
2368
vc->vc_complement_mask <<= 1;
drivers/video/fbdev/core/fbcon.c
2369
vc->vc_s_complement_mask <<= 1;
drivers/video/fbdev/core/fbcon.c
237
struct vc_data *vc;
drivers/video/fbdev/core/fbcon.c
2375
(unsigned short *) vc->vc_origin;
drivers/video/fbdev/core/fbcon.c
2376
int count = vc->vc_screenbuf_size / 2;
drivers/video/fbdev/core/fbcon.c
2381
if (vc->vc_can_do_color)
drivers/video/fbdev/core/fbcon.c
2389
c = vc->vc_video_erase_char;
drivers/video/fbdev/core/fbcon.c
2390
if (vc->vc_can_do_color) {
drivers/video/fbdev/core/fbcon.c
2391
vc->vc_video_erase_char =
drivers/video/fbdev/core/fbcon.c
2393
vc->vc_attr <<= 1;
drivers/video/fbdev/core/fbcon.c
2395
vc->vc_video_erase_char = c & ~0x100;
drivers/video/fbdev/core/fbcon.c
2400
static int fbcon_do_set_font(struct vc_data *vc, int w, int h, int charcount,
drivers/video/fbdev/core/fbcon.c
2403
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
2405
struct fbcon_display *p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
2408
const u8 *old_data = vc->vc_font.data;
drivers/video/fbdev/core/fbcon.c
2409
unsigned short old_hi_font_mask = vc->vc_hi_font_mask;
drivers/video/fbdev/core/fbcon.c
2413
resize = (w != vc->vc_font.width) || (h != vc->vc_font.height);
drivers/video/fbdev/core/fbcon.c
2415
vc->vc_font.data = font_data_buf(p->fontdata);
drivers/video/fbdev/core/fbcon.c
2416
old_width = vc->vc_font.width;
drivers/video/fbdev/core/fbcon.c
2417
old_height = vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
2418
old_charcount = vc->vc_font.charcount;
drivers/video/fbdev/core/fbcon.c
2420
vc->vc_font.width = w;
drivers/video/fbdev/core/fbcon.c
2421
vc->vc_font.height = h;
drivers/video/fbdev/core/fbcon.c
2422
vc->vc_font.charcount = charcount;
drivers/video/fbdev/core/fbcon.c
2423
if (vc->vc_hi_font_mask && charcount == 256)
drivers/video/fbdev/core/fbcon.c
2424
set_vc_hi_font(vc, false);
drivers/video/fbdev/core/fbcon.c
2425
else if (!vc->vc_hi_font_mask && charcount == 512)
drivers/video/fbdev/core/fbcon.c
2426
set_vc_hi_font(vc, true);
drivers/video/fbdev/core/fbcon.c
2435
ret = vc_resize(vc, cols, rows);
drivers/video/fbdev/core/fbcon.c
2438
} else if (con_is_visible(vc)
drivers/video/fbdev/core/fbcon.c
2439
&& vc->vc_mode == KD_TEXT) {
drivers/video/fbdev/core/fbcon.c
2440
fbcon_clear_margins(vc, 0);
drivers/video/fbdev/core/fbcon.c
2441
update_screen(vc);
drivers/video/fbdev/core/fbcon.c
245
vc = vc_cons[i].d;
drivers/video/fbdev/core/fbcon.c
2451
vc->vc_font.data = old_data;
drivers/video/fbdev/core/fbcon.c
2452
vc->vc_font.width = old_width;
drivers/video/fbdev/core/fbcon.c
2453
vc->vc_font.height = old_height;
drivers/video/fbdev/core/fbcon.c
2454
vc->vc_font.charcount = old_charcount;
drivers/video/fbdev/core/fbcon.c
2457
if (old_hi_font_mask && !vc->vc_hi_font_mask)
drivers/video/fbdev/core/fbcon.c
2458
set_vc_hi_font(vc, true);
drivers/video/fbdev/core/fbcon.c
2459
else if (!old_hi_font_mask && vc->vc_hi_font_mask)
drivers/video/fbdev/core/fbcon.c
246
if (!vc || vc->vc_mode != KD_TEXT ||
drivers/video/fbdev/core/fbcon.c
2460
set_vc_hi_font(vc, false);
drivers/video/fbdev/core/fbcon.c
2472
static int fbcon_set_font(struct vc_data *vc, const struct console_font *font,
drivers/video/fbdev/core/fbcon.c
2475
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
250
p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
2518
ret = fbcon_do_set_font(vc, font->width, font->height, charcount, new_data);
drivers/video/fbdev/core/fbcon.c
2524
static int fbcon_set_def_font(struct vc_data *vc, struct console_font *font,
drivers/video/fbdev/core/fbcon.c
2527
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
2538
return fbcon_do_set_font(vc, f->width, f->height, f->charcount, f->data);
drivers/video/fbdev/core/fbcon.c
2549
static void fbcon_set_palette(struct vc_data *vc, const unsigned char *table)
drivers/video/fbdev/core/fbcon.c
2551
struct fb_info *info = fbcon_info_from_console(vc->vc_num);
drivers/video/fbdev/core/fbcon.c
2555
if (!fbcon_is_active(vc, info))
drivers/video/fbdev/core/fbcon.c
2558
if (!con_is_visible(vc))
drivers/video/fbdev/core/fbcon.c
2565
val = vc->vc_palette[j++];
drivers/video/fbdev/core/fbcon.c
2567
val = vc->vc_palette[j++];
drivers/video/fbdev/core/fbcon.c
2569
val = vc->vc_palette[j++];
drivers/video/fbdev/core/fbcon.c
2586
static void fbcon_invert_region(struct vc_data *vc, u16 * p, int cnt)
drivers/video/fbdev/core/fbcon.c
2590
if (!vc->vc_can_do_color)
drivers/video/fbdev/core/fbcon.c
2592
else if (vc->vc_hi_font_mask == 0x100)
drivers/video/fbdev/core/fbcon.c
2604
struct vc_data *vc = NULL;
drivers/video/fbdev/core/fbcon.c
2609
vc = vc_cons[par->currcon].d;
drivers/video/fbdev/core/fbcon.c
2612
if ((vc->vc_mode == KD_TEXT) && con_is_visible(vc))
drivers/video/fbdev/core/fbcon.c
2613
fbcon_cursor(vc, false);
drivers/video/fbdev/core/fbcon.c
2618
struct vc_data *vc;
drivers/video/fbdev/core/fbcon.c
2623
vc = vc_cons[par->currcon].d;
drivers/video/fbdev/core/fbcon.c
2626
if ((vc->vc_mode == KD_TEXT) && con_is_visible(vc))
drivers/video/fbdev/core/fbcon.c
2627
update_screen(vc);
drivers/video/fbdev/core/fbcon.c
2633
struct vc_data *vc;
drivers/video/fbdev/core/fbcon.c
2639
vc = vc_cons[par->currcon].d;
drivers/video/fbdev/core/fbcon.c
2640
if (vc->vc_mode != KD_TEXT ||
drivers/video/fbdev/core/fbcon.c
2644
p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
2645
set_blitting_type(vc, info);
drivers/video/fbdev/core/fbcon.c
2647
if (con_is_visible(vc)) {
drivers/video/fbdev/core/fbcon.c
2651
cols /= vc->vc_font.width;
drivers/video/fbdev/core/fbcon.c
2652
rows /= vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
2653
vc_resize(vc, cols, rows);
drivers/video/fbdev/core/fbcon.c
2654
updatescrollmode(p, info, vc);
drivers/video/fbdev/core/fbcon.c
2658
if (fbcon_is_active(vc, info)) {
drivers/video/fbdev/core/fbcon.c
2663
fbcon_set_palette(vc, color_table);
drivers/video/fbdev/core/fbcon.c
2664
update_screen(vc);
drivers/video/fbdev/core/fbcon.c
2671
struct vc_data *vc;
drivers/video/fbdev/core/fbcon.c
2679
vc = vc_cons[i].d;
drivers/video/fbdev/core/fbcon.c
2680
if (!vc || vc->vc_mode != KD_TEXT ||
drivers/video/fbdev/core/fbcon.c
2684
if (con_is_visible(vc)) {
drivers/video/fbdev/core/fbcon.c
2689
p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
2690
set_blitting_type(vc, info);
drivers/video/fbdev/core/fbcon.c
2694
cols /= vc->vc_font.width;
drivers/video/fbdev/core/fbcon.c
2695
rows /= vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
2696
vc_resize(vc, cols, rows);
drivers/video/fbdev/core/fbcon.c
2716
struct vc_data *vc;
drivers/video/fbdev/core/fbcon.c
2726
vc = vc_cons[i].d;
drivers/video/fbdev/core/fbcon.c
2727
if (!vc || vc->vc_mode != KD_TEXT ||
drivers/video/fbdev/core/fbcon.c
2731
if (vc->vc_font.width > FBCON_SWAP(var->rotate, var->xres, var->yres) ||
drivers/video/fbdev/core/fbcon.c
2732
vc->vc_font.height > FBCON_SWAP(var->rotate, var->yres, var->xres))
drivers/video/fbdev/core/fbcon.c
3019
struct vc_data *vc;
drivers/video/fbdev/core/fbcon.c
3024
vc = vc_cons[par->currcon].d;
drivers/video/fbdev/core/fbcon.c
3025
if (vc->vc_mode != KD_TEXT || fbcon_info_from_console(par->currcon) != info)
drivers/video/fbdev/core/fbcon.c
3028
if (con_is_visible(vc)) {
drivers/video/fbdev/core/fbcon.c
3040
struct vc_data *vc;
drivers/video/fbdev/core/fbcon.c
3049
vc = vc_cons[i].d;
drivers/video/fbdev/core/fbcon.c
3054
fbcon_set_disp(info, &var, vc->vc_num);
drivers/video/fbdev/core/fbcon.c
3061
struct vc_data *vc;
drivers/video/fbdev/core/fbcon.c
3067
vc = vc_cons[i].d;
drivers/video/fbdev/core/fbcon.c
3068
if (vc && vc->vc_mode == KD_TEXT &&
drivers/video/fbdev/core/fbcon.c
307
static inline bool fbcon_is_active(struct vc_data *vc, struct fb_info *info)
drivers/video/fbdev/core/fbcon.c
3070
set_bit(vc->vc_font.width - 1, caps->x);
drivers/video/fbdev/core/fbcon.c
3071
set_bit(vc->vc_font.height - 1, caps->y);
drivers/video/fbdev/core/fbcon.c
3072
charcnt = vc->vc_font.charcount;
drivers/video/fbdev/core/fbcon.c
3078
vc = vc_cons[fg_console].d;
drivers/video/fbdev/core/fbcon.c
3080
if (vc && vc->vc_mode == KD_TEXT &&
drivers/video/fbdev/core/fbcon.c
3083
set_bit(vc->vc_font.width - 1, caps->x);
drivers/video/fbdev/core/fbcon.c
3085
set_bit(vc->vc_font.height - 1, caps->y);
drivers/video/fbdev/core/fbcon.c
3086
caps->len = vc->vc_font.charcount;
drivers/video/fbdev/core/fbcon.c
312
vc->vc_mode == KD_TEXT && !par->graphics && !fbcon_skip_panic(info);
drivers/video/fbdev/core/fbcon.c
315
static int get_color(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon.c
322
unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/fbcon.c
324
c = vc->vc_video_erase_char & charmask;
drivers/video/fbdev/core/fbcon.c
328
color = (is_fg) ? attr_fgcol((vc->vc_hi_font_mask) ? 9 : 8, c)
drivers/video/fbdev/core/fbcon.c
329
: attr_bgcol((vc->vc_hi_font_mask) ? 13 : 12, c);
drivers/video/fbdev/core/fbcon.c
382
static int get_fg_color(struct vc_data *vc, struct fb_info *info, u16 c)
drivers/video/fbdev/core/fbcon.c
384
return get_color(vc, info, c, true);
drivers/video/fbdev/core/fbcon.c
387
static int get_bg_color(struct vc_data *vc, struct fb_info *info, u16 c)
drivers/video/fbdev/core/fbcon.c
389
return get_color(vc, info, c, false);
drivers/video/fbdev/core/fbcon.c
396
struct vc_data *vc = NULL;
drivers/video/fbdev/core/fbcon.c
412
vc = vc_cons[par->currcon].d;
drivers/video/fbdev/core/fbcon.c
414
if (!vc || !con_is_visible(vc) ||
drivers/video/fbdev/core/fbcon.c
415
fbcon_info_from_console(vc->vc_num) != info ||
drivers/video/fbdev/core/fbcon.c
416
vc->vc_deccm != 1) {
drivers/video/fbdev/core/fbcon.c
421
c = scr_readw((u16 *) vc->vc_pos);
drivers/video/fbdev/core/fbcon.c
423
par->bitops->cursor(vc, info, enable,
drivers/video/fbdev/core/fbcon.c
424
get_fg_color(vc, info, c),
drivers/video/fbdev/core/fbcon.c
425
get_bg_color(vc, info, c));
drivers/video/fbdev/core/fbcon.c
448
void fbcon_fill_cursor_mask(struct fbcon_par *par, struct vc_data *vc, unsigned char *mask)
drivers/video/fbdev/core/fbcon.c
451
unsigned int pitch = vc_font_pitch(&vc->vc_font);
drivers/video/fbdev/core/fbcon.c
454
switch (CUR_SIZE(vc->vc_cursor_type)) {
drivers/video/fbdev/core/fbcon.c
459
if (vc->vc_font.height < 10)
drivers/video/fbdev/core/fbcon.c
465
cur_height = vc->vc_font.height / 3;
drivers/video/fbdev/core/fbcon.c
468
cur_height = vc->vc_font.height / 2;
drivers/video/fbdev/core/fbcon.c
471
cur_height = (vc->vc_font.height * 2) / 3;
drivers/video/fbdev/core/fbcon.c
475
cur_height = vc->vc_font.height;
drivers/video/fbdev/core/fbcon.c
479
size = (vc->vc_font.height - cur_height) * pitch;
drivers/video/fbdev/core/fbcon.c
635
static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon.c
641
static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon.c
646
int cnt, erase = vc->vc_video_erase_char, step;
drivers/video/fbdev/core/fbcon.c
662
logo_lines = DIV_ROUND_UP(logo_height, vc->vc_font.height);
drivers/video/fbdev/core/fbcon.c
663
q = (unsigned short *) (vc->vc_origin +
drivers/video/fbdev/core/fbcon.c
664
vc->vc_size_row * rows);
drivers/video/fbdev/core/fbcon.c
667
if (scr_readw(r) != vc->vc_video_erase_char)
drivers/video/fbdev/core/fbcon.c
685
scr_memcpyw(r + step, r, vc->vc_size_row);
drivers/video/fbdev/core/fbcon.c
690
if (vc->state.y + logo_lines >= rows)
drivers/video/fbdev/core/fbcon.c
691
lines = rows - vc->state.y - 1;
drivers/video/fbdev/core/fbcon.c
694
vc->state.y += lines;
drivers/video/fbdev/core/fbcon.c
695
vc->vc_pos += lines * vc->vc_size_row;
drivers/video/fbdev/core/fbcon.c
698
scr_memsetw((unsigned short *) vc->vc_origin,
drivers/video/fbdev/core/fbcon.c
700
vc->vc_size_row * logo_lines);
drivers/video/fbdev/core/fbcon.c
702
if (con_is_visible(vc) && vc->vc_mode == KD_TEXT) {
drivers/video/fbdev/core/fbcon.c
703
fbcon_clear_margins(vc, 0);
drivers/video/fbdev/core/fbcon.c
704
update_screen(vc);
drivers/video/fbdev/core/fbcon.c
708
q = (unsigned short *) (vc->vc_origin +
drivers/video/fbdev/core/fbcon.c
709
vc->vc_size_row *
drivers/video/fbdev/core/fbcon.c
712
vc->state.y += logo_lines;
drivers/video/fbdev/core/fbcon.c
713
vc->vc_pos += logo_lines * vc->vc_size_row;
drivers/video/fbdev/core/fbcon.c
720
if (logo_lines > vc->vc_bottom) {
drivers/video/fbdev/core/fbcon.c
725
vc->vc_top = logo_lines;
drivers/video/fbdev/core/fbcon.c
731
static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
drivers/video/fbdev/core/fbcon.c
735
par->p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
738
fbcon_set_tileops(vc, info);
drivers/video/fbdev/core/fbcon.c
756
static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
drivers/video/fbdev/core/fbcon.c
761
par->p = &fb_display[vc->vc_num];
drivers/video/fbdev/core/fbcon.c
827
static int con2fb_acquire_newinfo(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon.c
836
if (vc)
drivers/video/fbdev/core/fbcon.c
837
set_blitting_type(vc, info);
drivers/video/fbdev/core/fbcon.c
842
static void con2fb_release_oldinfo(struct vc_data *vc, struct fb_info *oldinfo,
drivers/video/fbdev/core/fbcon.c
866
static void con2fb_init_display(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon.c
914
struct vc_data *vc = vc_cons[unit].d;
drivers/video/fbdev/core/fbcon.c
937
err = con2fb_acquire_newinfo(vc, info, unit);
drivers/video/fbdev/core/fbcon.c
942
} else if (vc) {
drivers/video/fbdev/core/fbcon.c
943
set_blitting_type(vc, info);
drivers/video/fbdev/core/fbcon.c
953
con2fb_release_oldinfo(vc, oldinfo, info);
drivers/video/fbdev/core/fbcon.c
959
con2fb_init_display(vc, info, unit, show_logo);
drivers/video/fbdev/core/fbcon.h
200
extern void fbcon_set_tileops(struct vc_data *vc, struct fb_info *info);
drivers/video/fbdev/core/fbcon.h
205
void fbcon_fill_cursor_mask(struct fbcon_par *par, struct vc_data *vc, unsigned char *mask);
drivers/video/fbdev/core/fbcon.h
60
void (*bmove)(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/fbcon.h
62
void (*clear)(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/fbcon.h
64
void (*putcs)(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon.h
67
void (*clear_margins)(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon.h
69
void (*cursor)(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon.h
72
int (*rotate_font)(struct fb_info *info, struct vc_data *vc);
drivers/video/fbdev/core/fbcon_ccw.c
104
u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/fbcon_ccw.c
105
u32 idx = font_glyph_pitch(vc->vc_font.height);
drivers/video/fbdev/core/fbcon_ccw.c
112
ccw_update_attr(buf, src, attr, vc);
drivers/video/fbdev/core/fbcon_ccw.c
118
vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ccw.c
121
vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ccw.c
123
dst += d_pitch * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_ccw.c
129
static void ccw_putcs(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon_ccw.c
135
u32 width = font_glyph_pitch(vc->vc_font.height);
drivers/video/fbdev/core/fbcon_ccw.c
136
u32 cellsize = width * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_ccw.c
150
image.dx = yy * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ccw.c
151
image.dy = vyres - ((xx + count) * vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ccw.c
152
image.width = vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ccw.c
169
image.height = vc->vc_font.width * cnt;
drivers/video/fbdev/core/fbcon_ccw.c
176
ccw_putcs_aligned(vc, info, s, attribute, cnt, pitch,
drivers/video/fbdev/core/fbcon_ccw.c
191
static void ccw_clear_margins(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon_ccw.c
194
unsigned int cw = vc->vc_font.width;
drivers/video/fbdev/core/fbcon_ccw.c
195
unsigned int ch = vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ccw.c
196
unsigned int rw = info->var.yres - (vc->vc_cols*cw);
drivers/video/fbdev/core/fbcon_ccw.c
197
unsigned int bh = info->var.xres - (vc->vc_rows*ch);
drivers/video/fbdev/core/fbcon_ccw.c
198
unsigned int bs = vc->vc_rows*ch;
drivers/video/fbdev/core/fbcon_ccw.c
221
static void ccw_cursor(struct vc_data *vc, struct fb_info *info, bool enable,
drivers/video/fbdev/core/fbcon_ccw.c
226
unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/fbcon_ccw.c
227
int w = font_glyph_pitch(vc->vc_font.height);
drivers/video/fbdev/core/fbcon_ccw.c
229
int y = real_y(par->p, vc->state.y);
drivers/video/fbdev/core/fbcon_ccw.c
230
int attribute, use_sw = vc->vc_cursor_type & CUR_SW;
drivers/video/fbdev/core/fbcon_ccw.c
240
c = scr_readw((u16 *) vc->vc_pos);
drivers/video/fbdev/core/fbcon_ccw.c
242
src = par->rotated.buf + ((c & charmask) * (w * vc->vc_font.width));
drivers/video/fbdev/core/fbcon_ccw.c
253
dst = kmalloc_array(w, vc->vc_font.width, GFP_ATOMIC);
drivers/video/fbdev/core/fbcon_ccw.c
258
ccw_update_attr(dst, src, attribute, vc);
drivers/video/fbdev/core/fbcon_ccw.c
27
struct vc_data *vc)
drivers/video/fbdev/core/fbcon_ccw.c
270
if (par->cursor_state.image.height != vc->vc_font.width ||
drivers/video/fbdev/core/fbcon_ccw.c
271
par->cursor_state.image.width != vc->vc_font.height ||
drivers/video/fbdev/core/fbcon_ccw.c
273
par->cursor_state.image.height = vc->vc_font.width;
drivers/video/fbdev/core/fbcon_ccw.c
274
par->cursor_state.image.width = vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ccw.c
278
dx = y * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ccw.c
279
dy = vyres - ((vc->state.x + 1) * vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ccw.c
29
int i, j, offset = (vc->vc_font.height < 10) ? 1 : 2;
drivers/video/fbdev/core/fbcon_ccw.c
296
vc->vc_cursor_type != par->p->cursor_shape ||
drivers/video/fbdev/core/fbcon_ccw.c
30
int width = font_glyph_pitch(vc->vc_font.height);
drivers/video/fbdev/core/fbcon_ccw.c
301
tmp = kmalloc_array(vc->vc_font.height, vc_font_pitch(&vc->vc_font), GFP_ATOMIC);
drivers/video/fbdev/core/fbcon_ccw.c
304
fbcon_fill_cursor_mask(par, vc, tmp);
drivers/video/fbdev/core/fbcon_ccw.c
306
mask = kmalloc_array(vc->vc_font.width, w, GFP_ATOMIC);
drivers/video/fbdev/core/fbcon_ccw.c
31
int mod = vc->vc_font.height % 8;
drivers/video/fbdev/core/fbcon_ccw.c
311
font_glyph_rotate_270(tmp, vc->vc_font.width, vc->vc_font.height, mask);
drivers/video/fbdev/core/fbcon_ccw.c
317
par->p->cursor_shape = vc->vc_cursor_type;
drivers/video/fbdev/core/fbcon_ccw.c
40
for (i = 0; i < vc->vc_font.width; i++) {
drivers/video/fbdev/core/fbcon_ccw.c
64
static void ccw_bmove(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/fbcon_ccw.c
71
area.sx = sy * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ccw.c
72
area.sy = vyres - ((sx + width) * vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ccw.c
73
area.dx = dy * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ccw.c
74
area.dy = vyres - ((dx + width) * vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ccw.c
75
area.width = height * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ccw.c
76
area.height = width * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_ccw.c
81
static void ccw_clear(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/fbcon_ccw.c
89
region.dx = sy * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ccw.c
90
region.dy = vyres - ((sx + width) * vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ccw.c
91
region.height = width * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_ccw.c
92
region.width = height * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ccw.c
98
static inline void ccw_putcs_aligned(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon_cw.c
103
vc->vc_font.width);
drivers/video/fbdev/core/fbcon_cw.c
106
vc->vc_font.width);
drivers/video/fbdev/core/fbcon_cw.c
108
dst += d_pitch * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_cw.c
114
static void cw_putcs(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon_cw.c
120
u32 width = font_glyph_pitch(vc->vc_font.height);
drivers/video/fbdev/core/fbcon_cw.c
121
u32 cellsize = width * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_cw.c
135
image.dx = vxres - ((yy + 1) * vc->vc_font.height);
drivers/video/fbdev/core/fbcon_cw.c
136
image.dy = xx * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_cw.c
137
image.width = vc->vc_font.height;
drivers/video/fbdev/core/fbcon_cw.c
152
image.height = vc->vc_font.width * cnt;
drivers/video/fbdev/core/fbcon_cw.c
159
cw_putcs_aligned(vc, info, s, attribute, cnt, pitch,
drivers/video/fbdev/core/fbcon_cw.c
174
static void cw_clear_margins(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon_cw.c
177
unsigned int cw = vc->vc_font.width;
drivers/video/fbdev/core/fbcon_cw.c
178
unsigned int ch = vc->vc_font.height;
drivers/video/fbdev/core/fbcon_cw.c
179
unsigned int rw = info->var.yres - (vc->vc_cols*cw);
drivers/video/fbdev/core/fbcon_cw.c
180
unsigned int bh = info->var.xres - (vc->vc_rows*ch);
drivers/video/fbdev/core/fbcon_cw.c
204
static void cw_cursor(struct vc_data *vc, struct fb_info *info, bool enable,
drivers/video/fbdev/core/fbcon_cw.c
209
unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/fbcon_cw.c
210
int w = font_glyph_pitch(vc->vc_font.height);
drivers/video/fbdev/core/fbcon_cw.c
212
int y = real_y(par->p, vc->state.y);
drivers/video/fbdev/core/fbcon_cw.c
213
int attribute, use_sw = vc->vc_cursor_type & CUR_SW;
drivers/video/fbdev/core/fbcon_cw.c
223
c = scr_readw((u16 *) vc->vc_pos);
drivers/video/fbdev/core/fbcon_cw.c
225
src = par->rotated.buf + ((c & charmask) * (w * vc->vc_font.width));
drivers/video/fbdev/core/fbcon_cw.c
236
dst = kmalloc_array(w, vc->vc_font.width, GFP_ATOMIC);
drivers/video/fbdev/core/fbcon_cw.c
241
cw_update_attr(dst, src, attribute, vc);
drivers/video/fbdev/core/fbcon_cw.c
253
if (par->cursor_state.image.height != vc->vc_font.width ||
drivers/video/fbdev/core/fbcon_cw.c
254
par->cursor_state.image.width != vc->vc_font.height ||
drivers/video/fbdev/core/fbcon_cw.c
256
par->cursor_state.image.height = vc->vc_font.width;
drivers/video/fbdev/core/fbcon_cw.c
257
par->cursor_state.image.width = vc->vc_font.height;
drivers/video/fbdev/core/fbcon_cw.c
261
dx = vxres - ((y * vc->vc_font.height) + vc->vc_font.height);
drivers/video/fbdev/core/fbcon_cw.c
262
dy = vc->state.x * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_cw.c
27
struct vc_data *vc)
drivers/video/fbdev/core/fbcon_cw.c
279
vc->vc_cursor_type != par->p->cursor_shape ||
drivers/video/fbdev/core/fbcon_cw.c
284
tmp = kmalloc_array(vc->vc_font.height, vc_font_pitch(&vc->vc_font), GFP_ATOMIC);
drivers/video/fbdev/core/fbcon_cw.c
287
fbcon_fill_cursor_mask(par, vc, tmp);
drivers/video/fbdev/core/fbcon_cw.c
289
mask = kmalloc_array(vc->vc_font.width, w, GFP_ATOMIC);
drivers/video/fbdev/core/fbcon_cw.c
29
int i, j, offset = (vc->vc_font.height < 10) ? 1 : 2;
drivers/video/fbdev/core/fbcon_cw.c
294
font_glyph_rotate_90(tmp, vc->vc_font.width, vc->vc_font.height, mask);
drivers/video/fbdev/core/fbcon_cw.c
30
int width = font_glyph_pitch(vc->vc_font.height);
drivers/video/fbdev/core/fbcon_cw.c
300
par->p->cursor_shape = vc->vc_cursor_type;
drivers/video/fbdev/core/fbcon_cw.c
33
for (i = 0; i < vc->vc_font.width; i++) {
drivers/video/fbdev/core/fbcon_cw.c
49
static void cw_bmove(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/fbcon_cw.c
56
area.sx = vxres - ((sy + height) * vc->vc_font.height);
drivers/video/fbdev/core/fbcon_cw.c
57
area.sy = sx * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_cw.c
58
area.dx = vxres - ((dy + height) * vc->vc_font.height);
drivers/video/fbdev/core/fbcon_cw.c
59
area.dy = dx * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_cw.c
60
area.width = height * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_cw.c
61
area.height = width * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_cw.c
66
static void cw_clear(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/fbcon_cw.c
74
region.dx = vxres - ((sy + height) * vc->vc_font.height);
drivers/video/fbdev/core/fbcon_cw.c
75
region.dy = sx * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_cw.c
76
region.height = width * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_cw.c
77
region.width = height * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_cw.c
83
static inline void cw_putcs_aligned(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon_cw.c
89
u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/fbcon_cw.c
90
u32 idx = font_glyph_pitch(vc->vc_font.height);
drivers/video/fbdev/core/fbcon_cw.c
97
cw_update_attr(buf, src, attr, vc);
drivers/video/fbdev/core/fbcon_rotate.c
18
int fbcon_rotate_font(struct fb_info *info, struct vc_data *vc)
drivers/video/fbdev/core/fbcon_rotate.c
33
buf = font_data_rotate(par->rotated.fontdata, vc->vc_font.width,
drivers/video/fbdev/core/fbcon_rotate.c
34
vc->vc_font.height, vc->vc_font.charcount,
drivers/video/fbdev/core/fbcon_rotate.h
22
int fbcon_rotate_font(struct fb_info *info, struct vc_data *vc);
drivers/video/fbdev/core/fbcon_ud.c
115
static inline void ud_putcs_unaligned(struct vc_data *vc,
drivers/video/fbdev/core/fbcon_ud.c
123
u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/fbcon_ud.c
124
u32 shift_low = 0, mod = vc->vc_font.width % 8;
drivers/video/fbdev/core/fbcon_ud.c
126
u32 idx = vc->vc_font.width >> 3;
drivers/video/fbdev/core/fbcon_ud.c
133
ud_update_attr(buf, src, attr, vc);
drivers/video/fbdev/core/fbcon_ud.c
150
static void ud_putcs(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon_ud.c
156
u32 width = font_glyph_pitch(vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ud.c
157
u32 cellsize = width * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ud.c
161
u32 mod = vc->vc_font.width % 8, cnt, pitch, size;
drivers/video/fbdev/core/fbcon_ud.c
172
image.dy = vyres - ((yy * vc->vc_font.height) + vc->vc_font.height);
drivers/video/fbdev/core/fbcon_ud.c
173
image.dx = vxres - ((xx + count) * vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ud.c
174
image.height = vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ud.c
191
image.width = vc->vc_font.width * cnt;
drivers/video/fbdev/core/fbcon_ud.c
200
ud_putcs_aligned(vc, info, s, attribute, cnt, pitch,
drivers/video/fbdev/core/fbcon_ud.c
203
ud_putcs_unaligned(vc, info, s, attribute, cnt, pitch,
drivers/video/fbdev/core/fbcon_ud.c
221
static void ud_clear_margins(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon_ud.c
224
unsigned int cw = vc->vc_font.width;
drivers/video/fbdev/core/fbcon_ud.c
225
unsigned int ch = vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ud.c
226
unsigned int rw = info->var.xres - (vc->vc_cols*cw);
drivers/video/fbdev/core/fbcon_ud.c
227
unsigned int bh = info->var.yres - (vc->vc_rows*ch);
drivers/video/fbdev/core/fbcon_ud.c
250
static void ud_cursor(struct vc_data *vc, struct fb_info *info, bool enable,
drivers/video/fbdev/core/fbcon_ud.c
255
unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/fbcon_ud.c
256
int w = font_glyph_pitch(vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ud.c
258
int y = real_y(par->p, vc->state.y);
drivers/video/fbdev/core/fbcon_ud.c
259
int attribute, use_sw = vc->vc_cursor_type & CUR_SW;
drivers/video/fbdev/core/fbcon_ud.c
26
struct vc_data *vc)
drivers/video/fbdev/core/fbcon_ud.c
270
c = scr_readw((u16 *) vc->vc_pos);
drivers/video/fbdev/core/fbcon_ud.c
272
src = par->rotated.buf + ((c & charmask) * (w * vc->vc_font.height));
drivers/video/fbdev/core/fbcon_ud.c
28
int i, offset = (vc->vc_font.height < 10) ? 1 : 2;
drivers/video/fbdev/core/fbcon_ud.c
283
dst = kmalloc_array(w, vc->vc_font.height, GFP_ATOMIC);
drivers/video/fbdev/core/fbcon_ud.c
288
ud_update_attr(dst, src, attribute, vc);
drivers/video/fbdev/core/fbcon_ud.c
29
int width = font_glyph_pitch(vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ud.c
30
unsigned int cellsize = vc->vc_font.height * width;
drivers/video/fbdev/core/fbcon_ud.c
300
if (par->cursor_state.image.height != vc->vc_font.height ||
drivers/video/fbdev/core/fbcon_ud.c
301
par->cursor_state.image.width != vc->vc_font.width ||
drivers/video/fbdev/core/fbcon_ud.c
303
par->cursor_state.image.height = vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ud.c
304
par->cursor_state.image.width = vc->vc_font.width;
drivers/video/fbdev/core/fbcon_ud.c
308
dy = vyres - ((y * vc->vc_font.height) + vc->vc_font.height);
drivers/video/fbdev/core/fbcon_ud.c
309
dx = vxres - ((vc->state.x * vc->vc_font.width) + vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ud.c
326
vc->vc_cursor_type != par->p->cursor_shape ||
drivers/video/fbdev/core/fbcon_ud.c
331
tmp = kmalloc_array(vc->vc_font.height, w, GFP_ATOMIC);
drivers/video/fbdev/core/fbcon_ud.c
334
fbcon_fill_cursor_mask(par, vc, tmp);
drivers/video/fbdev/core/fbcon_ud.c
336
mask = kmalloc_array(vc->vc_font.height, w, GFP_ATOMIC);
drivers/video/fbdev/core/fbcon_ud.c
341
font_glyph_rotate_180(tmp, vc->vc_font.width, vc->vc_font.height, mask);
drivers/video/fbdev/core/fbcon_ud.c
347
par->p->cursor_shape = vc->vc_cursor_type;
drivers/video/fbdev/core/fbcon_ud.c
48
static void ud_bmove(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/fbcon_ud.c
56
area.sy = vyres - ((sy + height) * vc->vc_font.height);
drivers/video/fbdev/core/fbcon_ud.c
57
area.sx = vxres - ((sx + width) * vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ud.c
58
area.dy = vyres - ((dy + height) * vc->vc_font.height);
drivers/video/fbdev/core/fbcon_ud.c
59
area.dx = vxres - ((dx + width) * vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ud.c
60
area.height = height * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ud.c
61
area.width = width * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_ud.c
66
static void ud_clear(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/fbcon_ud.c
75
region.dy = vyres - ((sy + height) * vc->vc_font.height);
drivers/video/fbdev/core/fbcon_ud.c
76
region.dx = vxres - ((sx + width) * vc->vc_font.width);
drivers/video/fbdev/core/fbcon_ud.c
77
region.width = width * vc->vc_font.width;
drivers/video/fbdev/core/fbcon_ud.c
78
region.height = height * vc->vc_font.height;
drivers/video/fbdev/core/fbcon_ud.c
84
static inline void ud_putcs_aligned(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/fbcon_ud.c
90
u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/fbcon_ud.c
91
u32 idx = vc->vc_font.width >> 3;
drivers/video/fbdev/core/fbcon_ud.c
98
ud_update_attr(buf, src, attr, vc);
drivers/video/fbdev/core/tileblit.c
115
static void tile_cursor(struct vc_data *vc, struct fb_info *info, bool enable,
drivers/video/fbdev/core/tileblit.c
119
int use_sw = vc->vc_cursor_type & CUR_SW;
drivers/video/fbdev/core/tileblit.c
121
cursor.sx = vc->state.x;
drivers/video/fbdev/core/tileblit.c
122
cursor.sy = vc->state.y;
drivers/video/fbdev/core/tileblit.c
127
switch (vc->vc_cursor_type & 0x0f) {
drivers/video/fbdev/core/tileblit.c
173
void fbcon_set_tileops(struct vc_data *vc, struct fb_info *info)
drivers/video/fbdev/core/tileblit.c
181
map.width = vc->vc_font.width;
drivers/video/fbdev/core/tileblit.c
182
map.height = vc->vc_font.height;
drivers/video/fbdev/core/tileblit.c
184
map.length = vc->vc_font.charcount;
drivers/video/fbdev/core/tileblit.c
19
static void tile_bmove(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/tileblit.c
34
static void tile_clear(struct vc_data *vc, struct fb_info *info, int sy,
drivers/video/fbdev/core/tileblit.c
39
rect.index = vc->vc_video_erase_char &
drivers/video/fbdev/core/tileblit.c
40
((vc->vc_hi_font_mask) ? 0x1ff : 0xff);
drivers/video/fbdev/core/tileblit.c
52
static void tile_putcs(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/tileblit.c
57
unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;
drivers/video/fbdev/core/tileblit.c
74
static void tile_clear_margins(struct vc_data *vc, struct fb_info *info,
drivers/video/fbdev/core/tileblit.c
77
unsigned int cw = vc->vc_font.width;
drivers/video/fbdev/core/tileblit.c
78
unsigned int ch = vc->vc_font.height;
drivers/video/fbdev/core/tileblit.c
79
unsigned int rw = info->var.xres - (vc->vc_cols*cw);
drivers/video/fbdev/core/tileblit.c
80
unsigned int bh = info->var.yres - (vc->vc_rows*ch);
drivers/video/fbdev/core/tileblit.c
87
rect.index = vc->vc_video_erase_char &
drivers/video/fbdev/core/tileblit.c
88
((vc->vc_hi_font_mask) ? 0x1ff : 0xff);
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2205
dsi->vc[0].tx_fifo_size = size1;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2206
dsi->vc[1].tx_fifo_size = size2;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2207
dsi->vc[2].tx_fifo_size = size3;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2208
dsi->vc[3].tx_fifo_size = size4;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2212
int size = dsi->vc[i].tx_fifo_size;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2238
dsi->vc[0].rx_fifo_size = size1;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2239
dsi->vc[1].rx_fifo_size = size2;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2240
dsi->vc[2].rx_fifo_size = size3;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2241
dsi->vc[3].rx_fifo_size = size4;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2245
int size = dsi->vc[i].rx_fifo_size;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2389
switch (dsi->vc[channel].source) {
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2447
dsi->vc[channel].source = DSI_VC_SOURCE_L4;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2455
if (dsi->vc[channel].source == source)
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2481
dsi->vc[channel].source = source;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2667
data_id = data_type | dsi->vc[channel].vc_id << 6;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2702
if (dsi->vc[channel].tx_fifo_size * 32 * 4 < len + 4) {
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
2773
data_id = data_type | dsi->vc[channel].vc_id << 6;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
322
} vc[4];
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
4896
for (i = 0; i < ARRAY_SIZE(dsi->vc); i++) {
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
4897
if (!dsi->vc[i].dssdev) {
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
4898
dsi->vc[i].dssdev = dssdev;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
4923
if (dsi->vc[channel].dssdev != dssdev) {
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
4929
dsi->vc[channel].vc_id = vc_id;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
4940
dsi->vc[channel].dssdev == dssdev) {
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
4941
dsi->vc[channel].dssdev = NULL;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
4942
dsi->vc[channel].vc_id = 0;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
5396
for (i = 0; i < ARRAY_SIZE(dsi->vc); i++) {
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
5397
dsi->vc[i].source = DSI_VC_SOURCE_L4;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
5398
dsi->vc[i].dssdev = NULL;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
5399
dsi->vc[i].vc_id = 0;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
904
static void _omap_dsi_set_irqs_vc(struct platform_device *dsidev, int vc)
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
908
_omap_dsi_configure_irqs(dsidev, dsi->isr_tables.isr_table_vc[vc],
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
909
ARRAY_SIZE(dsi->isr_tables.isr_table_vc[vc]),
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
911
DSI_VC_IRQENABLE(vc), DSI_VC_IRQSTATUS(vc));
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
929
int vc;
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
936
for (vc = 0; vc < 4; ++vc)
drivers/video/fbdev/omap2/omapfb/dss/dsi.c
937
_omap_dsi_set_irqs_vc(dsidev, vc);
fs/afs/server.c
155
struct afs_vl_cursor vc;
fs/afs/server.c
160
if (afs_begin_vlserver_operation(&vc, server->cell, key)) {
fs/afs/server.c
161
while (afs_select_vlserver(&vc)) {
fs/afs/server.c
162
if (test_bit(AFS_VLSERVER_FL_IS_YFS, &vc.server->flags))
fs/afs/server.c
163
alist = afs_yfsvl_get_endpoints(&vc, &server->uuid);
fs/afs/server.c
165
alist = afs_vl_get_addrs_u(&vc, &server->uuid);
fs/afs/server.c
168
ret = afs_end_vlserver_operation(&vc);
fs/afs/vl_alias.c
229
struct afs_vl_cursor vc;
fs/afs/vl_alias.c
234
if (!afs_begin_vlserver_operation(&vc, cell, key))
fs/afs/vl_alias.c
237
while (afs_select_vlserver(&vc)) {
fs/afs/vl_alias.c
238
if (!test_bit(AFS_VLSERVER_FL_IS_YFS, &vc.server->flags)) {
fs/afs/vl_alias.c
239
vc.call_error = -EOPNOTSUPP;
fs/afs/vl_alias.c
244
cell_name = afs_yfsvl_get_cell_name(&vc);
fs/afs/vl_alias.c
247
ret = afs_end_vlserver_operation(&vc);
fs/afs/vl_rotate.c
100
int error = vc->call_error, i;
fs/afs/vl_rotate.c
102
vc->nr_iterations++;
fs/afs/vl_rotate.c
105
vc->debug_id, vc->nr_iterations, vc->server_index, vc->untried_servers,
fs/afs/vl_rotate.c
106
vc->addr_index, vc->addr_tried,
fs/afs/vl_rotate.c
109
if (vc->flags & AFS_VL_CURSOR_STOP) {
fs/afs/vl_rotate.c
114
if (vc->nr_iterations == 0)
fs/afs/vl_rotate.c
117
WRITE_ONCE(alist->addrs[vc->addr_index].last_error, error);
fs/afs/vl_rotate.c
124
vc->cumul_error.error = error;
fs/afs/vl_rotate.c
125
vc->flags |= AFS_VL_CURSOR_STOP;
fs/afs/vl_rotate.c
126
_leave(" = f [okay/local %d]", vc->cumul_error.error);
fs/afs/vl_rotate.c
138
afs_prioritise_error(&vc->cumul_error, -EREMOTEIO, abort_code);
fs/afs/vl_rotate.c
145
afs_prioritise_error(&vc->cumul_error, error, abort_code);
fs/afs/vl_rotate.c
158
afs_prioritise_error(&vc->cumul_error, error, 0);
fs/afs/vl_rotate.c
163
afs_prioritise_error(&vc->cumul_error, error, 0);
fs/afs/vl_rotate.c
164
vc->flags |= AFS_VL_CURSOR_RETRY;
fs/afs/vl_rotate.c
17
bool afs_begin_vlserver_operation(struct afs_vl_cursor *vc, struct afs_cell *cell,
fs/afs/vl_rotate.c
174
if (vc->call_responded &&
fs/afs/vl_rotate.c
175
vc->addr_index != vc->alist->preferred &&
fs/afs/vl_rotate.c
176
test_bit(alist->preferred, &vc->addr_tried))
fs/afs/vl_rotate.c
177
WRITE_ONCE(alist->preferred, vc->addr_index);
fs/afs/vl_rotate.c
179
alist = vc->alist = NULL;
fs/afs/vl_rotate.c
181
afs_put_vlserverlist(vc->cell->net, vc->server_list);
fs/afs/vl_rotate.c
182
vc->server_list = NULL;
fs/afs/vl_rotate.c
183
if (vc->flags & AFS_VL_CURSOR_RETRIED)
fs/afs/vl_rotate.c
185
vc->flags |= AFS_VL_CURSOR_RETRIED;
fs/afs/vl_rotate.c
190
if (!afs_start_vl_iteration(vc))
fs/afs/vl_rotate.c
193
error = afs_send_vl_probes(vc->cell->net, vc->key, vc->server_list);
fs/afs/vl_rotate.c
195
afs_prioritise_error(&vc->cumul_error, error, 0);
fs/afs/vl_rotate.c
200
_debug("pick [%lx]", vc->untried_servers);
fs/afs/vl_rotate.c
203
error = afs_wait_for_vl_probes(vc->server_list, vc->untried_servers);
fs/afs/vl_rotate.c
205
afs_prioritise_error(&vc->cumul_error, error, 0);
fs/afs/vl_rotate.c
210
vc->server_index = vc->server_list->preferred;
fs/afs/vl_rotate.c
211
if (test_bit(vc->server_index, &vc->untried_servers))
fs/afs/vl_rotate.c
214
vc->server_index = -1;
fs/afs/vl_rotate.c
216
for (i = 0; i < vc->server_list->nr_servers; i++) {
fs/afs/vl_rotate.c
217
struct afs_vlserver *s = vc->server_list->servers[i].server;
fs/afs/vl_rotate.c
219
if (!test_bit(i, &vc->untried_servers) ||
fs/afs/vl_rotate.c
22
memset(vc, 0, sizeof(*vc));
fs/afs/vl_rotate.c
223
vc->server_index = i;
fs/afs/vl_rotate.c
228
if (vc->server_index == -1)
fs/afs/vl_rotate.c
23
vc->cell = cell;
fs/afs/vl_rotate.c
232
_debug("use %d", vc->server_index);
fs/afs/vl_rotate.c
233
__clear_bit(vc->server_index, &vc->untried_servers);
fs/afs/vl_rotate.c
239
vlserver = vc->server_list->servers[vc->server_index].server;
fs/afs/vl_rotate.c
24
vc->key = key;
fs/afs/vl_rotate.c
240
vc->server = vlserver;
fs/afs/vl_rotate.c
247
vc->alist = afs_get_addrlist(alist, afs_alist_trace_get_vlrotate_set);
fs/afs/vl_rotate.c
25
vc->cumul_error.error = -EDESTADDRREQ;
fs/afs/vl_rotate.c
250
vc->addr_tried = 0;
fs/afs/vl_rotate.c
251
vc->addr_index = -1;
fs/afs/vl_rotate.c
259
vc->addr_index = READ_ONCE(alist->preferred);
fs/afs/vl_rotate.c
26
vc->nr_iterations = -1;
fs/afs/vl_rotate.c
261
_debug("%lx-%lx-%lx,%d", set, failed, vc->addr_tried, vc->addr_index);
fs/afs/vl_rotate.c
263
set &= ~(failed | vc->addr_tried);
fs/afs/vl_rotate.c
268
if (!test_bit(vc->addr_index, &set))
fs/afs/vl_rotate.c
269
vc->addr_index = __ffs(set);
fs/afs/vl_rotate.c
271
set_bit(vc->addr_index, &vc->addr_tried);
fs/afs/vl_rotate.c
272
vc->alist = alist;
fs/afs/vl_rotate.c
274
_debug("VL address %d/%d", vc->addr_index, alist->nr_addrs);
fs/afs/vl_rotate.c
276
vc->call_responded = false;
fs/afs/vl_rotate.c
277
_leave(" = t %pISpc", rxrpc_kernel_remote_addr(alist->addrs[vc->addr_index].peer));
fs/afs/vl_rotate.c
283
if (vc->call_responded &&
fs/afs/vl_rotate.c
284
vc->addr_index != alist->preferred &&
fs/afs/vl_rotate.c
285
test_bit(alist->preferred, &vc->addr_tried))
fs/afs/vl_rotate.c
286
WRITE_ONCE(alist->preferred, vc->addr_index);
fs/afs/vl_rotate.c
288
alist = vc->alist = NULL;
fs/afs/vl_rotate.c
29
vc->cumul_error.error = -EINTR;
fs/afs/vl_rotate.c
295
if (vc->flags & AFS_VL_CURSOR_RETRY)
fs/afs/vl_rotate.c
298
for (i = 0; i < vc->server_list->nr_servers; i++) {
fs/afs/vl_rotate.c
299
struct afs_vlserver *s = vc->server_list->servers[i].server;
fs/afs/vl_rotate.c
30
vc->flags |= AFS_VL_CURSOR_STOP;
fs/afs/vl_rotate.c
302
vc->cumul_error.responded = true;
fs/afs/vl_rotate.c
303
afs_prioritise_error(&vc->cumul_error, READ_ONCE(s->probe.error),
fs/afs/vl_rotate.c
309
if (vc->call_responded &&
fs/afs/vl_rotate.c
310
vc->addr_index != alist->preferred &&
fs/afs/vl_rotate.c
311
test_bit(alist->preferred, &vc->addr_tried))
fs/afs/vl_rotate.c
312
WRITE_ONCE(alist->preferred, vc->addr_index);
fs/afs/vl_rotate.c
314
alist = vc->alist = NULL;
fs/afs/vl_rotate.c
316
vc->flags |= AFS_VL_CURSOR_STOP;
fs/afs/vl_rotate.c
317
_leave(" = f [failed %d]", vc->cumul_error.error);
fs/afs/vl_rotate.c
324
static void afs_vl_dump_edestaddrreq(const struct afs_vl_cursor *vc)
fs/afs/vl_rotate.c
326
struct afs_cell *cell = vc->cell;
fs/afs/vl_rotate.c
34
vc->debug_id = atomic_inc_return(&debug_ids);
fs/afs/vl_rotate.c
340
vc->untried_servers, vc->server_index, vc->nr_iterations,
fs/afs/vl_rotate.c
341
vc->flags, vc->cumul_error.error);
fs/afs/vl_rotate.c
343
vc->call_error, vc->call_abort_code, vc->call_responded);
fs/afs/vl_rotate.c
345
if (vc->server_list) {
fs/afs/vl_rotate.c
346
const struct afs_vlserver_list *sl = vc->server_list;
fs/afs/vl_rotate.c
361
if (a == vc->alist)
fs/afs/vl_rotate.c
367
pr_notice("AC: t=%lx ax=%u\n", vc->addr_tried, vc->addr_index);
fs/afs/vl_rotate.c
374
int afs_end_vlserver_operation(struct afs_vl_cursor *vc)
fs/afs/vl_rotate.c
376
struct afs_net *net = vc->cell->net;
fs/afs/vl_rotate.c
378
_enter("VC=%x+%x", vc->debug_id, vc->nr_iterations);
fs/afs/vl_rotate.c
380
switch (vc->cumul_error.error) {
fs/afs/vl_rotate.c
385
afs_vl_dump_edestaddrreq(vc);
fs/afs/vl_rotate.c
389
if (vc->alist) {
fs/afs/vl_rotate.c
390
if (vc->call_responded &&
fs/afs/vl_rotate.c
391
vc->addr_index != vc->alist->preferred &&
fs/afs/vl_rotate.c
392
test_bit(vc->alist->preferred, &vc->addr_tried))
fs/afs/vl_rotate.c
393
WRITE_ONCE(vc->alist->preferred, vc->addr_index);
fs/afs/vl_rotate.c
394
afs_put_addrlist(vc->alist, afs_alist_trace_put_vlrotate_end);
fs/afs/vl_rotate.c
395
vc->alist = NULL;
fs/afs/vl_rotate.c
397
afs_put_vlserverlist(net, vc->server_list);
fs/afs/vl_rotate.c
398
return vc->cumul_error.error;
fs/afs/vl_rotate.c
42
static bool afs_start_vl_iteration(struct afs_vl_cursor *vc)
fs/afs/vl_rotate.c
44
struct afs_cell *cell = vc->cell;
fs/afs/vl_rotate.c
58
vc->cumul_error.error = -ERESTARTSYS;
fs/afs/vl_rotate.c
66
vc->cumul_error.error = -ENOENT;
fs/afs/vl_rotate.c
71
vc->cumul_error.error = -EDESTADDRREQ;
fs/afs/vl_rotate.c
77
vc->server_list = afs_get_vlserverlist(
fs/afs/vl_rotate.c
81
if (!vc->server_list->nr_servers)
fs/afs/vl_rotate.c
84
vc->untried_servers = (1UL << vc->server_list->nr_servers) - 1;
fs/afs/vl_rotate.c
85
vc->server_index = -1;
fs/afs/vl_rotate.c
93
bool afs_select_vlserver(struct afs_vl_cursor *vc)
fs/afs/vl_rotate.c
95
struct afs_addr_list *alist = vc->alist;
fs/afs/vl_rotate.c
99
s32 abort_code = vc->call_abort_code;
fs/afs/vlclient.c
110
struct afs_vldb_entry *afs_vl_get_entry_by_name_u(struct afs_vl_cursor *vc,
fs/afs/vlclient.c
116
struct afs_net *net = vc->cell->net;
fs/afs/vlclient.c
136
call->key = vc->key;
fs/afs/vlclient.c
139
call->peer = rxrpc_kernel_get_peer(vc->alist->addrs[vc->addr_index].peer);
fs/afs/vlclient.c
140
call->service_id = vc->server->service_id;
fs/afs/vlclient.c
153
vc->call_abort_code = call->abort_code;
fs/afs/vlclient.c
154
vc->call_error = call->error;
fs/afs/vlclient.c
155
vc->call_responded = call->responded;
fs/afs/vlclient.c
157
if (vc->call_error) {
fs/afs/vlclient.c
159
return ERR_PTR(vc->call_error);
fs/afs/vlclient.c
258
struct afs_addr_list *afs_vl_get_addrs_u(struct afs_vl_cursor *vc,
fs/afs/vlclient.c
265
struct afs_net *net = vc->cell->net;
fs/afs/vlclient.c
277
call->key = vc->key;
fs/afs/vlclient.c
280
call->peer = rxrpc_kernel_get_peer(vc->alist->addrs[vc->addr_index].peer);
fs/afs/vlclient.c
281
call->service_id = vc->server->service_id;
fs/afs/vlclient.c
302
vc->call_abort_code = call->abort_code;
fs/afs/vlclient.c
303
vc->call_error = call->error;
fs/afs/vlclient.c
304
vc->call_responded = call->responded;
fs/afs/vlclient.c
307
if (vc->call_error) {
fs/afs/vlclient.c
309
return ERR_PTR(vc->call_error);
fs/afs/vlclient.c
634
struct afs_addr_list *afs_yfsvl_get_endpoints(struct afs_vl_cursor *vc,
fs/afs/vlclient.c
639
struct afs_net *net = vc->cell->net;
fs/afs/vlclient.c
650
call->key = vc->key;
fs/afs/vlclient.c
653
call->peer = rxrpc_kernel_get_peer(vc->alist->addrs[vc->addr_index].peer);
fs/afs/vlclient.c
654
call->service_id = vc->server->service_id;
fs/afs/vlclient.c
665
vc->call_abort_code = call->abort_code;
fs/afs/vlclient.c
666
vc->call_error = call->error;
fs/afs/vlclient.c
667
vc->call_responded = call->responded;
fs/afs/vlclient.c
670
if (vc->call_error) {
fs/afs/vlclient.c
672
return ERR_PTR(vc->call_error);
fs/afs/vlclient.c
756
char *afs_yfsvl_get_cell_name(struct afs_vl_cursor *vc)
fs/afs/vlclient.c
759
struct afs_net *net = vc->cell->net;
fs/afs/vlclient.c
769
call->key = vc->key;
fs/afs/vlclient.c
772
call->peer = rxrpc_kernel_get_peer(vc->alist->addrs[vc->addr_index].peer);
fs/afs/vlclient.c
773
call->service_id = vc->server->service_id;
fs/afs/vlclient.c
783
vc->call_abort_code = call->abort_code;
fs/afs/vlclient.c
784
vc->call_error = call->error;
fs/afs/vlclient.c
785
vc->call_responded = call->responded;
fs/afs/vlclient.c
788
if (vc->call_error) {
fs/afs/vlclient.c
790
return ERR_PTR(vc->call_error);
fs/afs/volume.c
160
struct afs_vl_cursor vc;
fs/afs/volume.c
163
if (!afs_begin_vlserver_operation(&vc, cell, key))
fs/afs/volume.c
166
while (afs_select_vlserver(&vc)) {
fs/afs/volume.c
167
vldb = afs_vl_get_entry_by_name_u(&vc, volname, volnamesz);
fs/afs/volume.c
170
ret = afs_end_vlserver_operation(&vc);
fs/coda/inode.c
203
struct venus_comm *vc;
fs/coda/inode.c
209
vc = &coda_comms[ctx->idx];
fs/coda/inode.c
210
mutex_lock(&vc->vc_mutex);
fs/coda/inode.c
212
if (!vc->vc_inuse) {
fs/coda/inode.c
218
if (vc->vc_sb) {
fs/coda/inode.c
224
vc->vc_sb = sb;
fs/coda/inode.c
225
mutex_unlock(&vc->vc_mutex);
fs/coda/inode.c
227
sb->s_fs_info = vc;
fs/coda/inode.c
270
mutex_lock(&vc->vc_mutex);
fs/coda/inode.c
271
vc->vc_sb = NULL;
fs/coda/inode.c
274
mutex_unlock(&vc->vc_mutex);
fs/coda/upcall.c
42
static int coda_upcall(struct venus_comm *vc, int inSize, int *outSize,
fs/unicode/mkutf8data.c
2434
unsigned int vc = 21;
fs/unicode/mkutf8data.c
2436
unsigned int nc = (vc * tc);
include/asm-generic/vdso/vsyscall.h
22
static __always_inline void __arch_update_vdso_clock(struct vdso_clock *vc)
include/linux/console.h
100
bool (*con_blank)(struct vc_data *vc, enum vesa_blank_mode blank,
include/linux/console.h
102
int (*con_font_set)(struct vc_data *vc,
include/linux/console.h
105
int (*con_font_get)(struct vc_data *vc, struct console_font *font,
include/linux/console.h
107
int (*con_font_default)(struct vc_data *vc,
include/linux/console.h
109
int (*con_resize)(struct vc_data *vc, unsigned int width,
include/linux/console.h
111
void (*con_set_palette)(struct vc_data *vc,
include/linux/console.h
113
void (*con_scrolldelta)(struct vc_data *vc, int lines);
include/linux/console.h
114
bool (*con_set_origin)(struct vc_data *vc);
include/linux/console.h
115
void (*con_save_screen)(struct vc_data *vc);
include/linux/console.h
116
u8 (*con_build_attr)(struct vc_data *vc, u8 color,
include/linux/console.h
119
void (*con_invert_region)(struct vc_data *vc, u16 *p, int count);
include/linux/console.h
140
void con_debug_enter(struct vc_data *vc);
include/linux/console.h
143
static inline void con_debug_enter(struct vc_data *vc) { }
include/linux/console.h
86
void (*con_init)(struct vc_data *vc, bool init);
include/linux/console.h
87
void (*con_deinit)(struct vc_data *vc);
include/linux/console.h
88
void (*con_clear)(struct vc_data *vc, unsigned int y,
include/linux/console.h
90
void (*con_putc)(struct vc_data *vc, u16 ca, unsigned int y,
include/linux/console.h
92
void (*con_putcs)(struct vc_data *vc, const u16 *s,
include/linux/console.h
95
void (*con_cursor)(struct vc_data *vc, bool enable);
include/linux/console.h
96
bool (*con_scroll)(struct vc_data *vc, unsigned int top,
include/linux/console.h
99
bool (*con_switch)(struct vc_data *vc);
include/linux/console_struct.h
204
extern struct vc vc_cons [MAX_NR_CONSOLES];
include/linux/console_struct.h
225
bool con_is_visible(const struct vc_data *vc);
include/linux/consolemap.h
26
unsigned short *set_translate(enum translation_map m, struct vc_data *vc);
include/linux/consolemap.h
42
struct vc_data *vc)
include/linux/keyboard.h
12
struct vc_data *vc; /* VC on which the keyboard press was done */
include/linux/selection.h
26
bool vc_is_sel(const struct vc_data *vc);
include/linux/selection.h
35
unsigned short *screen_pos(const struct vc_data *vc, int w_offset, bool viewed);
include/linux/selection.h
36
u16 screen_glyph(const struct vc_data *vc, int offset);
include/linux/selection.h
37
u32 screen_glyph_unicode(const struct vc_data *vc, int offset);
include/linux/selection.h
38
void complement_pos(struct vc_data *vc, int offset);
include/linux/selection.h
39
void invert_screen(struct vc_data *vc, int offset, int count, bool viewed);
include/linux/selection.h
41
void getconsxy(const struct vc_data *vc, unsigned char xy[static 2]);
include/linux/selection.h
42
void putconsxy(struct vc_data *vc, unsigned char xy[static const 2]);
include/linux/selection.h
44
u16 vcs_scr_readw(const struct vc_data *vc, const u16 *org);
include/linux/selection.h
45
void vcs_scr_writew(struct vc_data *vc, u16 val, u16 *org);
include/linux/selection.h
46
void vcs_scr_updated(struct vc_data *vc);
include/linux/selection.h
48
int vc_uniscr_check(struct vc_data *vc);
include/linux/selection.h
49
void vc_uniscr_copy_line(const struct vc_data *vc, void *dest, bool viewed,
include/linux/vt_kern.h
103
static inline int con_set_default_unimap(struct vc_data *vc)
include/linux/vt_kern.h
107
static inline void con_free_unimap(struct vc_data *vc)
include/linux/vt_kern.h
110
static inline void con_protect_unimap(struct vc_data *vc, int rdonly)
include/linux/vt_kern.h
125
void reset_vc(struct vc_data *vc);
include/linux/vt_kern.h
146
struct vc_data *vc; /* VC on which the update happened */
include/linux/vt_kern.h
28
int __vc_resize(struct vc_data *vc, unsigned int cols, unsigned int lines,
include/linux/vt_kern.h
31
void reset_palette(struct vc_data *vc);
include/linux/vt_kern.h
35
int con_font_op(struct vc_data *vc, struct console_font_op *op);
include/linux/vt_kern.h
38
void scrollback(struct vc_data *vc);
include/linux/vt_kern.h
39
void scrollfront(struct vc_data *vc, int lines);
include/linux/vt_kern.h
40
void clear_buffer_attributes(struct vc_data *vc);
include/linux/vt_kern.h
41
void update_region(struct vc_data *vc, unsigned long start, int count);
include/linux/vt_kern.h
42
void redraw_screen(struct vc_data *vc, int is_switch);
include/linux/vt_kern.h
46
static inline int vc_resize(struct vc_data *vc, unsigned int cols,
include/linux/vt_kern.h
49
return __vc_resize(vc, cols, lines, false);
include/linux/vt_kern.h
64
int con_clear_unimap(struct vc_data *vc);
include/linux/vt_kern.h
65
int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list);
include/linux/vt_kern.h
66
int con_get_unimap(struct vc_data *vc, ushort ct, ushort __user *uct, struct unipair __user *list);
include/linux/vt_kern.h
67
int con_set_default_unimap(struct vc_data *vc);
include/linux/vt_kern.h
68
void con_free_unimap(struct vc_data *vc);
include/linux/vt_kern.h
88
static inline int con_clear_unimap(struct vc_data *vc)
include/linux/vt_kern.h
93
int con_set_unimap(struct vc_data *vc, ushort ct, struct unipair __user *list)
include/linux/vt_kern.h
98
int con_get_unimap(struct vc_data *vc, ushort ct, ushort __user *uct,
include/media/v4l2-subdev.h
327
u8 vc;
include/net/psp/types.h
21
__be64 vc[]; /* optional */
include/vdso/helpers.h
106
struct vdso_clock *vc = vd->clock_data;
include/vdso/helpers.h
110
vdso_write_seq_end(&vc[CS_HRES_COARSE]);
include/vdso/helpers.h
111
vdso_write_seq_end(&vc[CS_RAW]);
include/vdso/helpers.h
12
static __always_inline bool vdso_is_timens_clock(const struct vdso_clock *vc)
include/vdso/helpers.h
14
return IS_ENABLED(CONFIG_TIME_NS) && vc->clock_mode == VDSO_CLOCKMODE_TIMENS;
include/vdso/helpers.h
17
static __always_inline u32 vdso_read_begin(const struct vdso_clock *vc)
include/vdso/helpers.h
21
while (unlikely((seq = READ_ONCE(vc->seq)) & 1))
include/vdso/helpers.h
38
static __always_inline bool vdso_read_begin_timens(const struct vdso_clock *vc, u32 *seq)
include/vdso/helpers.h
40
while (unlikely((*seq = READ_ONCE(vc->seq)) & 1)) {
include/vdso/helpers.h
41
if (vdso_is_timens_clock(vc))
include/vdso/helpers.h
50
static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc,
include/vdso/helpers.h
56
seq = READ_ONCE(vc->seq);
include/vdso/helpers.h
60
static __always_inline void vdso_write_seq_begin(struct vdso_clock *vc)
include/vdso/helpers.h
67
WRITE_ONCE(vc->seq, vc->seq + 1);
include/vdso/helpers.h
70
static __always_inline void vdso_write_seq_end(struct vdso_clock *vc)
include/vdso/helpers.h
77
WRITE_ONCE(vc->seq, vc->seq + 1);
include/vdso/helpers.h
80
static __always_inline void vdso_write_begin_clock(struct vdso_clock *vc)
include/vdso/helpers.h
82
vdso_write_seq_begin(vc);
include/vdso/helpers.h
87
static __always_inline void vdso_write_end_clock(struct vdso_clock *vc)
include/vdso/helpers.h
91
vdso_write_seq_end(vc);
include/vdso/helpers.h
96
struct vdso_clock *vc = vd->clock_data;
include/vdso/helpers.h
98
vdso_write_seq_begin(&vc[CS_HRES_COARSE]);
include/vdso/helpers.h
99
vdso_write_seq_begin(&vc[CS_RAW]);
include/video/imx-ipu-v3.h
364
int ipu_csi_set_mipi_datatype(struct ipu_csi *csi, u32 vc,
kernel/time/namespace_vdso.c
110
vc = vdata->clock_data;
kernel/time/namespace_vdso.c
113
timens_setup_vdso_clock_data(&vc[i], ns);
kernel/time/namespace_vdso.c
55
static void timens_setup_vdso_clock_data(struct vdso_clock *vc,
kernel/time/namespace_vdso.c
58
struct timens_offset *offset = vc->offset;
kernel/time/namespace_vdso.c
62
vc->seq = 1;
kernel/time/namespace_vdso.c
63
vc->clock_mode = VDSO_CLOCKMODE_TIMENS;
kernel/time/namespace_vdso.c
93
struct vdso_clock *vc;
kernel/time/vsyscall.c
103
vdso_ts = &vc[CS_HRES_COARSE].basetime[CLOCK_MONOTONIC_COARSE];
kernel/time/vsyscall.c
121
__arch_update_vdso_clock(&vc[CS_HRES_COARSE]);
kernel/time/vsyscall.c
122
__arch_update_vdso_clock(&vc[CS_RAW]);
kernel/time/vsyscall.c
144
struct vdso_clock *vc;
kernel/time/vsyscall.c
148
vc = &vdata->aux_clock_data[tk->id - TIMEKEEPER_AUX_FIRST];
kernel/time/vsyscall.c
149
vdso_ts = &vc->basetime[VDSO_BASE_AUX];
kernel/time/vsyscall.c
155
vdso_write_begin_clock(vc);
kernel/time/vsyscall.c
157
vc->clock_mode = clock_mode;
kernel/time/vsyscall.c
160
fill_clock_configuration(vc, &tk->tkr_mono);
kernel/time/vsyscall.c
171
__arch_update_vdso_clock(vc);
kernel/time/vsyscall.c
173
vdso_write_end_clock(vc);
kernel/time/vsyscall.c
18
static inline void fill_clock_configuration(struct vdso_clock *vc, const struct tk_read_base *base)
kernel/time/vsyscall.c
20
vc->cycle_last = base->cycle_last;
kernel/time/vsyscall.c
22
vc->max_cycles = base->clock->max_cycles;
kernel/time/vsyscall.c
24
vc->mask = base->mask;
kernel/time/vsyscall.c
25
vc->mult = base->mult;
kernel/time/vsyscall.c
26
vc->shift = base->shift;
kernel/time/vsyscall.c
31
struct vdso_clock *vc = vdata->clock_data;
kernel/time/vsyscall.c
35
fill_clock_configuration(&vc[CS_HRES_COARSE], &tk->tkr_mono);
kernel/time/vsyscall.c
36
fill_clock_configuration(&vc[CS_RAW], &tk->tkr_raw);
kernel/time/vsyscall.c
39
vdso_ts = &vc[CS_HRES_COARSE].basetime[CLOCK_MONOTONIC];
kernel/time/vsyscall.c
57
vdso_ts = &vc[CS_HRES_COARSE].basetime[CLOCK_BOOTTIME];
kernel/time/vsyscall.c
67
vdso_ts = &vc[CS_RAW].basetime[CLOCK_MONOTONIC_RAW];
kernel/time/vsyscall.c
72
vdso_ts = &vc[CS_HRES_COARSE].basetime[CLOCK_TAI];
kernel/time/vsyscall.c
80
struct vdso_clock *vc = vdata->clock_data;
kernel/time/vsyscall.c
89
vc[CS_HRES_COARSE].clock_mode = clock_mode;
kernel/time/vsyscall.c
90
vc[CS_RAW].clock_mode = clock_mode;
kernel/time/vsyscall.c
93
vdso_ts = &vc[CS_HRES_COARSE].basetime[CLOCK_REALTIME];
kernel/time/vsyscall.c
98
vdso_ts = &vc[CS_HRES_COARSE].basetime[CLOCK_REALTIME_COARSE];
kernel/trace/trace_events_filter.c
2750
#define DATA_REC(m, va, vb, vc, vd, ve, vf, vg, vh, nvisit) \
kernel/trace/trace_events_filter.c
2753
.rec = { .a = va, .b = vb, .c = vc, .d = vd, \
lib/vdso/gettimeofday.c
109
bool vdso_get_timestamp(const struct vdso_time_data *vd, const struct vdso_clock *vc,
lib/vdso/gettimeofday.c
112
const struct vdso_timestamp *vdso_ts = &vc->basetime[clkidx];
lib/vdso/gettimeofday.c
115
if (unlikely(!vdso_clocksource_ok(vc)))
lib/vdso/gettimeofday.c
118
cycles = __arch_get_hw_counter(vc->clock_mode, vd);
lib/vdso/gettimeofday.c
122
*ns = vdso_calc_ns(vc, cycles, vdso_ts->nsec);
lib/vdso/gettimeofday.c
140
const struct vdso_clock *vc = vd->clock_data;
lib/vdso/gettimeofday.c
146
vc = &vc[CS_HRES_COARSE];
lib/vdso/gettimeofday.c
148
vc = &vc[CS_RAW];
lib/vdso/gettimeofday.c
151
seq = vdso_read_begin(vc);
lib/vdso/gettimeofday.c
153
if (!vdso_get_timestamp(vd, vc, clk, &sec, &ns))
lib/vdso/gettimeofday.c
155
} while (vdso_read_retry(vc, seq));
lib/vdso/gettimeofday.c
167
bool do_hres(const struct vdso_time_data *vd, const struct vdso_clock *vc,
lib/vdso/gettimeofday.c
178
if (vdso_read_begin_timens(vc, &seq))
lib/vdso/gettimeofday.c
179
return do_hres_timens(vd, vc, clk, ts);
lib/vdso/gettimeofday.c
181
if (!vdso_get_timestamp(vd, vc, clk, &sec, &ns))
lib/vdso/gettimeofday.c
183
} while (vdso_read_retry(vc, seq));
lib/vdso/gettimeofday.c
196
const struct vdso_clock *vc = vd->clock_data;
lib/vdso/gettimeofday.c
202
vdso_ts = &vc->basetime[clk];
lib/vdso/gettimeofday.c
205
seq = vdso_read_begin(vc);
lib/vdso/gettimeofday.c
208
} while (vdso_read_retry(vc, seq));
lib/vdso/gettimeofday.c
220
bool do_coarse(const struct vdso_time_data *vd, const struct vdso_clock *vc,
lib/vdso/gettimeofday.c
223
const struct vdso_timestamp *vdso_ts = &vc->basetime[clk];
lib/vdso/gettimeofday.c
227
if (vdso_read_begin_timens(vc, &seq))
lib/vdso/gettimeofday.c
228
return do_coarse_timens(vd, vc, clk, ts);
lib/vdso/gettimeofday.c
232
} while (vdso_read_retry(vc, seq));
lib/vdso/gettimeofday.c
240
const struct vdso_clock *vc;
lib/vdso/gettimeofday.c
248
vc = &vd->aux_clock_data[idx];
lib/vdso/gettimeofday.c
251
while (vdso_read_begin_timens(vc, &seq)) {
lib/vdso/gettimeofday.c
254
vc = &vd->aux_clock_data[idx];
lib/vdso/gettimeofday.c
258
if (vc->clock_mode == VDSO_CLOCKMODE_NONE)
lib/vdso/gettimeofday.c
261
if (!vdso_get_timestamp(vd, vc, VDSO_BASE_AUX, &sec, &ns))
lib/vdso/gettimeofday.c
263
} while (vdso_read_retry(vc, seq));
lib/vdso/gettimeofday.c
274
const struct vdso_clock *vc = vd->clock_data;
lib/vdso/gettimeofday.c
286
vc = &vc[CS_HRES_COARSE];
lib/vdso/gettimeofday.c
288
return do_coarse(vd, &vc[CS_HRES_COARSE], clock, ts);
lib/vdso/gettimeofday.c
290
vc = &vc[CS_RAW];
lib/vdso/gettimeofday.c
296
return do_hres(vd, vc, clock, ts);
lib/vdso/gettimeofday.c
349
const struct vdso_clock *vc = vd->clock_data;
lib/vdso/gettimeofday.c
354
if (!do_hres(vd, &vc[CS_HRES_COARSE], CLOCK_REALTIME, &ts))
lib/vdso/gettimeofday.c
362
if (vdso_is_timens_clock(vc))
lib/vdso/gettimeofday.c
38
static __always_inline bool vdso_delta_ok(const struct vdso_clock *vc, u64 delta)
lib/vdso/gettimeofday.c
382
const struct vdso_clock *vc = vd->clock_data;
lib/vdso/gettimeofday.c
385
if (vdso_is_timens_clock(vc)) {
lib/vdso/gettimeofday.c
387
vc = vd->clock_data;
lib/vdso/gettimeofday.c
390
t = READ_ONCE(vc[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec);
lib/vdso/gettimeofday.c
40
return delta < vc->max_cycles;
lib/vdso/gettimeofday.c
409
const struct vdso_clock *vc = vd->clock_data;
lib/vdso/gettimeofday.c
416
if (vdso_is_timens_clock(vc))
lib/vdso/gettimeofday.c
43
static __always_inline bool vdso_delta_ok(const struct vdso_clock *vc, u64 delta)
lib/vdso/gettimeofday.c
60
static __always_inline u64 vdso_calc_ns(const struct vdso_clock *vc, u64 cycles, u64 base)
lib/vdso/gettimeofday.c
62
u64 delta = (cycles - vc->cycle_last) & VDSO_DELTA_MASK(vc);
lib/vdso/gettimeofday.c
64
if (likely(vdso_delta_ok(vc, delta)))
lib/vdso/gettimeofday.c
65
return vdso_shift_ns((delta * vc->mult) + base, vc->shift);
lib/vdso/gettimeofday.c
67
return mul_u64_u32_add_u64_shr(delta, vc->mult, base, vc->shift);
lib/vdso/gettimeofday.c
79
static inline bool vdso_clocksource_ok(const struct vdso_clock *vc)
lib/vdso/gettimeofday.c
81
return vc->clock_mode != VDSO_CLOCKMODE_NONE;
net/lapb/lapb_subr.c
88
unsigned short vc = lapb->va;
net/lapb/lapb_subr.c
93
while (vc != lapb->vs) {
net/lapb/lapb_subr.c
94
if (nr == vc)
net/lapb/lapb_subr.c
96
vc = (vc + 1) % modulus;
net/x25/x25_subr.c
100
vc = (vc + 1) % modulus;
net/x25/x25_subr.c
94
unsigned short vc = x25->va;
net/x25/x25_subr.c
97
while (vc != x25->vs) {
net/x25/x25_subr.c
98
if (nr == vc)