Home
last modified time | relevance | path

Searched refs:fdata (Results 1 - 25 of 38) sorted by relevance

12

/kernel/linux/linux-5.10/drivers/staging/media/meson/vdec/
H A Desparser.c146 u8 *fdata = dp + outheaderoff; in vp9_update_header() local
149 memmove(fdata + VP9_HEADER_SIZE, old_framedata, framesize); in vp9_update_header()
151 fdata[0] = (framesize_header >> 24) & 0xff; in vp9_update_header()
152 fdata[1] = (framesize_header >> 16) & 0xff; in vp9_update_header()
153 fdata[2] = (framesize_header >> 8) & 0xff; in vp9_update_header()
154 fdata[3] = (framesize_header >> 0) & 0xff; in vp9_update_header()
155 fdata[4] = ((framesize_header >> 24) & 0xff) ^ 0xff; in vp9_update_header()
156 fdata[5] = ((framesize_header >> 16) & 0xff) ^ 0xff; in vp9_update_header()
157 fdata[6] = ((framesize_header >> 8) & 0xff) ^ 0xff; in vp9_update_header()
158 fdata[ in vp9_update_header()
[all...]
/kernel/linux/linux-6.6/drivers/staging/media/meson/vdec/
H A Desparser.c145 u8 *fdata = dp + outheaderoff; in vp9_update_header() local
148 memmove(fdata + VP9_HEADER_SIZE, old_framedata, framesize); in vp9_update_header()
150 fdata[0] = (framesize_header >> 24) & 0xff; in vp9_update_header()
151 fdata[1] = (framesize_header >> 16) & 0xff; in vp9_update_header()
152 fdata[2] = (framesize_header >> 8) & 0xff; in vp9_update_header()
153 fdata[3] = (framesize_header >> 0) & 0xff; in vp9_update_header()
154 fdata[4] = ((framesize_header >> 24) & 0xff) ^ 0xff; in vp9_update_header()
155 fdata[5] = ((framesize_header >> 16) & 0xff) ^ 0xff; in vp9_update_header()
156 fdata[6] = ((framesize_header >> 8) & 0xff) ^ 0xff; in vp9_update_header()
157 fdata[ in vp9_update_header()
[all...]
/kernel/linux/linux-5.10/drivers/pps/
H A Dpps.c53 static int pps_cdev_pps_fetch(struct pps_device *pps, struct pps_fdata *fdata) in pps_cdev_pps_fetch() argument
59 if (fdata->timeout.flags & PPS_TIME_INVALID) in pps_cdev_pps_fetch()
66 (long long) fdata->timeout.sec, in pps_cdev_pps_fetch()
67 fdata->timeout.nsec); in pps_cdev_pps_fetch()
68 ticks = fdata->timeout.sec * HZ; in pps_cdev_pps_fetch()
69 ticks += fdata->timeout.nsec / (NSEC_PER_SEC / HZ); in pps_cdev_pps_fetch()
177 struct pps_fdata fdata; in pps_cdev_ioctl() local
181 err = copy_from_user(&fdata, uarg, sizeof(struct pps_fdata)); in pps_cdev_ioctl()
185 err = pps_cdev_pps_fetch(pps, &fdata); in pps_cdev_ioctl()
192 fdata in pps_cdev_ioctl()
259 struct pps_fdata fdata; pps_cdev_compat_ioctl() local
[all...]
/kernel/linux/linux-6.6/drivers/pps/
H A Dpps.c53 static int pps_cdev_pps_fetch(struct pps_device *pps, struct pps_fdata *fdata) in pps_cdev_pps_fetch() argument
59 if (fdata->timeout.flags & PPS_TIME_INVALID) in pps_cdev_pps_fetch()
66 (long long) fdata->timeout.sec, in pps_cdev_pps_fetch()
67 fdata->timeout.nsec); in pps_cdev_pps_fetch()
68 ticks = fdata->timeout.sec * HZ; in pps_cdev_pps_fetch()
69 ticks += fdata->timeout.nsec / (NSEC_PER_SEC / HZ); in pps_cdev_pps_fetch()
177 struct pps_fdata fdata; in pps_cdev_ioctl() local
181 err = copy_from_user(&fdata, uarg, sizeof(struct pps_fdata)); in pps_cdev_ioctl()
185 err = pps_cdev_pps_fetch(pps, &fdata); in pps_cdev_ioctl()
192 fdata in pps_cdev_ioctl()
259 struct pps_fdata fdata; pps_cdev_compat_ioctl() local
[all...]
/kernel/linux/linux-5.10/drivers/infiniband/hw/hfi1/
H A Duser_exp_rcv.c63 static void cacheless_tid_rb_remove(struct hfi1_filedata *fdata,
801 node->fdata = fd; in set_rcvarray_entry()
947 struct hfi1_filedata *fdata = node->fdata; in tid_rb_invalidate() local
948 struct hfi1_ctxtdata *uctxt = fdata->uctxt; in tid_rb_invalidate()
957 trace_hfi1_exp_tid_inval(uctxt->ctxt, fdata->subctxt, in tid_rb_invalidate()
962 __clear_tid_node(fdata, node); in tid_rb_invalidate()
964 spin_lock(&fdata->invalid_lock); in tid_rb_invalidate()
965 if (fdata->invalid_tid_idx < uctxt->expected_count) { in tid_rb_invalidate()
966 fdata in tid_rb_invalidate()
1009 cacheless_tid_rb_remove(struct hfi1_filedata *fdata, struct tid_rb_node *tnode) cacheless_tid_rb_remove() argument
[all...]
H A Dfile_ops.c639 struct hfi1_filedata *fdata = fp->private_data; in hfi1_file_close() local
640 struct hfi1_ctxtdata *uctxt = fdata->uctxt; in hfi1_file_close()
651 hfi1_cdbg(PROC, "closing ctxt %u:%u", uctxt->ctxt, fdata->subctxt); in hfi1_file_close()
655 hfi1_user_sdma_free_queues(fdata, uctxt); in hfi1_file_close()
658 hfi1_put_proc_affinity(fdata->rec_cpu_num); in hfi1_file_close()
661 hfi1_user_exp_rcv_free(fdata); in hfi1_file_close()
664 * fdata->uctxt is used in the above cleanup. It is not ready to be in hfi1_file_close()
667 fdata->uctxt = NULL; in hfi1_file_close()
674 ev = dd->events + uctxt_offset(uctxt) + fdata->subctxt; in hfi1_file_close()
678 __clear_bit(fdata in hfi1_file_close()
[all...]
H A Duser_exp_rcv.h72 struct hfi1_filedata *fdata; member
/kernel/linux/linux-6.6/drivers/infiniband/hw/hfi1/
H A Duser_exp_rcv.c21 static void cacheless_tid_rb_remove(struct hfi1_filedata *fdata,
752 node->fdata = fd; in set_rcvarray_entry()
898 struct hfi1_filedata *fdata = node->fdata; in tid_rb_invalidate() local
899 struct hfi1_ctxtdata *uctxt = fdata->uctxt; in tid_rb_invalidate()
908 trace_hfi1_exp_tid_inval(uctxt->ctxt, fdata->subctxt, in tid_rb_invalidate()
913 __clear_tid_node(fdata, node); in tid_rb_invalidate()
915 spin_lock(&fdata->invalid_lock); in tid_rb_invalidate()
916 if (fdata->invalid_tid_idx < uctxt->expected_count) { in tid_rb_invalidate()
917 fdata in tid_rb_invalidate()
959 cacheless_tid_rb_remove(struct hfi1_filedata *fdata, struct tid_rb_node *tnode) cacheless_tid_rb_remove() argument
[all...]
H A Duser_exp_rcv.h31 struct hfi1_filedata *fdata; member
H A Dfile_ops.c629 struct hfi1_filedata *fdata = fp->private_data; in hfi1_file_close() local
630 struct hfi1_ctxtdata *uctxt = fdata->uctxt; in hfi1_file_close()
641 hfi1_cdbg(PROC, "closing ctxt %u:%u", uctxt->ctxt, fdata->subctxt); in hfi1_file_close()
645 hfi1_user_sdma_free_queues(fdata, uctxt); in hfi1_file_close()
648 hfi1_put_proc_affinity(fdata->rec_cpu_num); in hfi1_file_close()
651 hfi1_user_exp_rcv_free(fdata); in hfi1_file_close()
654 * fdata->uctxt is used in the above cleanup. It is not ready to be in hfi1_file_close()
657 fdata->uctxt = NULL; in hfi1_file_close()
664 ev = dd->events + uctxt_offset(uctxt) + fdata->subctxt; in hfi1_file_close()
668 __clear_bit(fdata in hfi1_file_close()
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/msm/hdmi/
H A Dhdmi_phy_8996.c144 static inline u32 pll_get_pll_cmp(u64 fdata, unsigned long ref_clk) in pll_get_pll_cmp() argument
146 u64 dividend = HDMI_PLL_CMP_CNT * fdata; in pll_get_pll_cmp()
159 u64 fdata = ((u64)pll_cmp) * ref_clk * 10; in pll_cmp_to_fdata() local
161 do_div(fdata, HDMI_PLL_CMP_CNT); in pll_cmp_to_fdata()
163 return fdata; in pll_cmp_to_fdata()
226 u64 fdata; in pll_calculate() local
265 fdata = pd.vco_freq; in pll_calculate()
266 do_div(fdata, pd.vco_ratio); in pll_calculate()
268 pll_cmp = pll_get_pll_cmp(fdata, ref_clk); in pll_calculate()
271 DBG("fdata in pll_calculate()
648 u64 fdata; hdmi_8996_pll_recalc_rate() local
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/msm/hdmi/
H A Dhdmi_phy_8996.c144 static inline u32 pll_get_pll_cmp(u64 fdata, unsigned long ref_clk) in pll_get_pll_cmp() argument
146 u64 dividend = HDMI_PLL_CMP_CNT * fdata; in pll_get_pll_cmp()
159 u64 fdata = ((u64)pll_cmp) * ref_clk * 10; in pll_cmp_to_fdata() local
161 do_div(fdata, HDMI_PLL_CMP_CNT); in pll_cmp_to_fdata()
163 return fdata; in pll_cmp_to_fdata()
226 u64 fdata; in pll_calculate() local
265 fdata = pd.vco_freq; in pll_calculate()
266 do_div(fdata, pd.vco_ratio); in pll_calculate()
268 pll_cmp = pll_get_pll_cmp(fdata, ref_clk); in pll_calculate()
271 DBG("fdata in pll_calculate()
648 u64 fdata; hdmi_8996_pll_recalc_rate() local
[all...]
/kernel/linux/linux-5.10/drivers/s390/block/
H A Ddasd_ioctl.c200 dasd_format(struct dasd_block *block, struct format_data_t *fdata) in dasd_format() argument
217 fdata->start_unit, in dasd_format()
218 fdata->stop_unit, fdata->blksize, fdata->intensity); in dasd_format()
225 if (fdata->start_unit == 0) { in dasd_format()
227 bdev->bd_inode->i_blkbits = blksize_bits(fdata->blksize); in dasd_format()
231 rc = base->discipline->format_device(base, fdata, 1); in dasd_format()
233 rc = base->discipline->format_device(base, fdata, 0); in dasd_format()
262 struct format_data_t fdata; in dasd_ioctl_format() local
[all...]
H A Ddasd_eckd.c2414 dasd_eckd_build_check_tcw(struct dasd_device *base, struct format_data_t *fdata, in dasd_eckd_build_check_tcw() argument
2436 count = rpt * (fdata->stop_unit - fdata->start_unit + 1); in dasd_eckd_build_check_tcw()
2457 rc = prepare_itcw(itcw, fdata->start_unit, fdata->stop_unit, in dasd_eckd_build_check_tcw()
2500 dasd_eckd_build_check(struct dasd_device *base, struct format_data_t *fdata, in dasd_eckd_build_check() argument
2523 count = rpt * (fdata->stop_unit - fdata->start_unit + 1); in dasd_eckd_build_check()
2546 prefix_LRE(ccw++, data, fdata->start_unit, fdata in dasd_eckd_build_check()
2584 dasd_eckd_build_format(struct dasd_device *base, struct dasd_device *startdev, struct format_data_t *fdata, int enable_pav) dasd_eckd_build_format() argument
2846 dasd_eckd_format_build_ccw_req(struct dasd_device *base, struct format_data_t *fdata, int enable_pav, int tpm, struct eckd_count *fmt_buffer, int rpt) dasd_eckd_format_build_ccw_req() argument
2870 dasd_eckd_format_sanity_checks(struct dasd_device *base, struct format_data_t *fdata) dasd_eckd_format_sanity_checks() argument
2907 dasd_eckd_format_process_data(struct dasd_device *base, struct format_data_t *fdata, int enable_pav, int tpm, struct eckd_count *fmt_buffer, int rpt, struct irb *irb) dasd_eckd_format_process_data() argument
3031 dasd_eckd_format_device(struct dasd_device *base, struct format_data_t *fdata, int enable_pav) dasd_eckd_format_device() argument
3101 struct format_data_t fdata; dasd_eckd_ese_format() local
[all...]
/kernel/linux/linux-6.6/drivers/s390/block/
H A Ddasd_ioctl.c198 dasd_format(struct dasd_block *block, struct format_data_t *fdata) in dasd_format() argument
215 fdata->start_unit, in dasd_format()
216 fdata->stop_unit, fdata->blksize, fdata->intensity); in dasd_format()
223 if (fdata->start_unit == 0) { in dasd_format()
225 blksize_bits(fdata->blksize); in dasd_format()
228 rc = base->discipline->format_device(base, fdata, 1); in dasd_format()
230 rc = base->discipline->format_device(base, fdata, 0); in dasd_format()
259 struct format_data_t fdata; in dasd_ioctl_format() local
[all...]
H A Ddasd_eckd.c2502 dasd_eckd_build_check_tcw(struct dasd_device *base, struct format_data_t *fdata, in dasd_eckd_build_check_tcw() argument
2524 count = rpt * (fdata->stop_unit - fdata->start_unit + 1); in dasd_eckd_build_check_tcw()
2545 rc = prepare_itcw(itcw, fdata->start_unit, fdata->stop_unit, in dasd_eckd_build_check_tcw()
2588 dasd_eckd_build_check(struct dasd_device *base, struct format_data_t *fdata, in dasd_eckd_build_check() argument
2611 count = rpt * (fdata->stop_unit - fdata->start_unit + 1); in dasd_eckd_build_check()
2634 prefix_LRE(ccw++, data, fdata->start_unit, fdata in dasd_eckd_build_check()
2672 dasd_eckd_build_format(struct dasd_device *base, struct dasd_device *startdev, struct format_data_t *fdata, int enable_pav) dasd_eckd_build_format() argument
2934 dasd_eckd_format_build_ccw_req(struct dasd_device *base, struct format_data_t *fdata, int enable_pav, int tpm, struct eckd_count *fmt_buffer, int rpt) dasd_eckd_format_build_ccw_req() argument
2958 dasd_eckd_format_sanity_checks(struct dasd_device *base, struct format_data_t *fdata) dasd_eckd_format_sanity_checks() argument
2995 dasd_eckd_format_process_data(struct dasd_device *base, struct format_data_t *fdata, int enable_pav, int tpm, struct eckd_count *fmt_buffer, int rpt, struct irb *irb) dasd_eckd_format_process_data() argument
3119 dasd_eckd_format_device(struct dasd_device *base, struct format_data_t *fdata, int enable_pav) dasd_eckd_format_device() argument
3189 struct format_data_t fdata; dasd_eckd_ese_format() local
[all...]
/kernel/linux/linux-6.6/drivers/media/platform/qcom/venus/
H A Dhelpers.c115 struct hfi_frame_data fdata; in venus_helper_queue_dpb_bufs() local
117 memset(&fdata, 0, sizeof(fdata)); in venus_helper_queue_dpb_bufs()
118 fdata.alloc_len = buf->size; in venus_helper_queue_dpb_bufs()
119 fdata.device_addr = buf->da; in venus_helper_queue_dpb_bufs()
120 fdata.buffer_type = buf->type; in venus_helper_queue_dpb_bufs()
131 fdata.clnt_data = buf->dpb_out_tag; in venus_helper_queue_dpb_bufs()
133 ret = hfi_session_process_buf(inst, &fdata); in venus_helper_queue_dpb_bufs()
504 struct hfi_frame_data fdata; in session_process_buf() local
506 memset(&fdata, in session_process_buf()
[all...]
/kernel/linux/linux-5.10/drivers/media/platform/qcom/venus/
H A Dhelpers.c86 struct hfi_frame_data fdata; in venus_helper_queue_dpb_bufs() local
88 memset(&fdata, 0, sizeof(fdata)); in venus_helper_queue_dpb_bufs()
89 fdata.alloc_len = buf->size; in venus_helper_queue_dpb_bufs()
90 fdata.device_addr = buf->da; in venus_helper_queue_dpb_bufs()
91 fdata.buffer_type = buf->type; in venus_helper_queue_dpb_bufs()
93 ret = hfi_session_process_buf(inst, &fdata); in venus_helper_queue_dpb_bufs()
441 struct hfi_frame_data fdata; in session_process_buf() local
444 memset(&fdata, 0, sizeof(fdata)); in session_process_buf()
[all...]
/kernel/linux/linux-5.10/drivers/soc/qcom/
H A Dcpr.c857 const struct fuse_corner_data *fdata, in cpr_read_fuse_uV()
877 uV = fdata->ref_uV + steps * step_size_uV; in cpr_read_fuse_uV()
888 struct fuse_corner_data *fdata; in cpr_fuse_corner_init() local
903 fdata = desc->cpr_fuses.fuse_corner_data; in cpr_fuse_corner_init()
905 for (i = 0; fuse <= end; fuse++, fuses++, i++, fdata++) { in cpr_fuse_corner_init()
911 fdata->min_uV = roundup(fdata->min_uV, step_volt); in cpr_fuse_corner_init()
912 fdata->max_uV = roundup(fdata->max_uV, step_volt); in cpr_fuse_corner_init()
915 uV = cpr_read_fuse_uV(desc, fdata, fuse in cpr_fuse_corner_init()
856 cpr_read_fuse_uV(const struct cpr_desc *desc, const struct fuse_corner_data *fdata, const char *init_v_efuse, int step_volt, struct cpr_drv *drv) cpr_read_fuse_uV() argument
989 cpr_calculate_scaling(const char *quot_offset, struct cpr_drv *drv, const struct fuse_corner_data *fdata, const struct corner *corner) cpr_calculate_scaling() argument
1020 cpr_interpolate(const struct corner *corner, int step_volt, const struct fuse_corner_data *fdata) cpr_interpolate() argument
1119 const struct fuse_corner_data *fdata; cpr_corner_init() local
[all...]
/kernel/linux/linux-6.6/drivers/pmdomain/qcom/
H A Dcpr.c823 const struct fuse_corner_data *fdata, in cpr_read_fuse_uV()
843 uV = fdata->ref_uV + steps * step_size_uV; in cpr_read_fuse_uV()
854 struct fuse_corner_data *fdata; in cpr_fuse_corner_init() local
869 fdata = desc->cpr_fuses.fuse_corner_data; in cpr_fuse_corner_init()
871 for (i = 0; fuse <= end; fuse++, fuses++, i++, fdata++) { in cpr_fuse_corner_init()
877 fdata->min_uV = roundup(fdata->min_uV, step_volt); in cpr_fuse_corner_init()
878 fdata->max_uV = roundup(fdata->max_uV, step_volt); in cpr_fuse_corner_init()
881 uV = cpr_read_fuse_uV(desc, fdata, fuse in cpr_fuse_corner_init()
822 cpr_read_fuse_uV(const struct cpr_desc *desc, const struct fuse_corner_data *fdata, const char *init_v_efuse, int step_volt, struct cpr_drv *drv) cpr_read_fuse_uV() argument
955 cpr_calculate_scaling(const char *quot_offset, struct cpr_drv *drv, const struct fuse_corner_data *fdata, const struct corner *corner) cpr_calculate_scaling() argument
986 cpr_interpolate(const struct corner *corner, int step_volt, const struct fuse_corner_data *fdata) cpr_interpolate() argument
1085 const struct fuse_corner_data *fdata; cpr_corner_init() local
[all...]
/kernel/linux/linux-5.10/drivers/dma/
H A Dimx-dma.c1027 struct imxdma_filter_data *fdata = param; in imxdma_filter_fn() local
1030 if (chan->device->dev != fdata->imxdma->dev) in imxdma_filter_fn()
1033 imxdma_chan->dma_request = fdata->request; in imxdma_filter_fn()
1044 struct imxdma_filter_data fdata = { in imxdma_xlate() local
1051 fdata.request = dma_spec->args[0]; in imxdma_xlate()
1054 imxdma_filter_fn, &fdata); in imxdma_xlate()
/kernel/linux/linux-6.6/drivers/dma/
H A Dimx-dma.c1007 struct imxdma_filter_data *fdata = param; in imxdma_filter_fn() local
1010 if (chan->device->dev != fdata->imxdma->dev) in imxdma_filter_fn()
1013 imxdma_chan->dma_request = fdata->request; in imxdma_filter_fn()
1024 struct imxdma_filter_data fdata = { in imxdma_xlate() local
1031 fdata.request = dma_spec->args[0]; in imxdma_xlate()
1034 imxdma_filter_fn, &fdata); in imxdma_xlate()
/kernel/linux/linux-5.10/drivers/net/ethernet/intel/i40e/
H A Di40e_txrx.c15 * i40e_fdir - Generate a Flow Director descriptor based on fdata
17 * @fdata: Flow director filter data
22 struct i40e_fdir_filter *fdata, bool add) in i40e_fdir()
37 (fdata->q_index << I40E_TXD_FLTR_QW0_QINDEX_SHIFT); in i40e_fdir()
40 (fdata->flex_off << I40E_TXD_FLTR_QW0_FLEXOFF_SHIFT); in i40e_fdir()
43 (fdata->pctype << I40E_TXD_FLTR_QW0_PCTYPE_SHIFT); in i40e_fdir()
46 (fdata->flex_offset << I40E_TXD_FLTR_QW0_FLEXOFF_SHIFT); in i40e_fdir()
50 ((u32)(fdata->dest_vsi ? : pf->vsi[pf->lan_vsi]->id) << in i40e_fdir()
62 (fdata->dest_ctl << I40E_TXD_FLTR_QW1_DEST_SHIFT); in i40e_fdir()
65 (fdata in i40e_fdir()
21 i40e_fdir(struct i40e_ring *tx_ring, struct i40e_fdir_filter *fdata, bool add) i40e_fdir() argument
[all...]
/kernel/linux/linux-6.6/drivers/net/ethernet/intel/i40e/
H A Di40e_txrx.c16 * i40e_fdir - Generate a Flow Director descriptor based on fdata
18 * @fdata: Flow director filter data
23 struct i40e_fdir_filter *fdata, bool add) in i40e_fdir()
38 (fdata->q_index << I40E_TXD_FLTR_QW0_QINDEX_SHIFT); in i40e_fdir()
41 (fdata->flex_off << I40E_TXD_FLTR_QW0_FLEXOFF_SHIFT); in i40e_fdir()
44 (fdata->pctype << I40E_TXD_FLTR_QW0_PCTYPE_SHIFT); in i40e_fdir()
48 ((u32)(fdata->dest_vsi ? : pf->vsi[pf->lan_vsi]->id) << in i40e_fdir()
60 (fdata->dest_ctl << I40E_TXD_FLTR_QW1_DEST_SHIFT); in i40e_fdir()
63 (fdata->fd_status << I40E_TXD_FLTR_QW1_FD_STATUS_SHIFT); in i40e_fdir()
65 if (fdata in i40e_fdir()
22 i40e_fdir(struct i40e_ring *tx_ring, struct i40e_fdir_filter *fdata, bool add) i40e_fdir() argument
[all...]
/kernel/linux/linux-5.10/drivers/scsi/qla2xxx/
H A Dqla_sup.c1251 qla24xx_erase_sector(scsi_qla_host_t *vha, uint32_t fdata) in qla24xx_erase_sector() argument
1257 start = fdata >> 2; in qla24xx_erase_sector()
1264 (fdata & 0xff00) | ((fdata << 16) & 0xff0000) | in qla24xx_erase_sector()
1265 ((fdata >> 16) & 0xff)); in qla24xx_erase_sector()
1275 uint32_t sec_mask, rest_addr, fdata; in qla24xx_write_flash_data() local
1305 fdata = (faddr & sec_mask) << 2; in qla24xx_write_flash_data()
1312 ret = qla24xx_erase_sector(vha, fdata); in qla24xx_write_flash_data()
2684 uint32_t sec_mask, rest_addr, fdata; in qla28xx_write_flash_data() local
2824 fdata in qla28xx_write_flash_data()
[all...]

Completed in 39 milliseconds

12