Lines Matching refs:cmb_data
131 struct cmb_data { struct
301 struct cmb_data *cmb_data; in cmf_copy_block() local
316 cmb_data = cdev->private->cmb; in cmf_copy_block()
317 hw_block = cmbops->align(cmb_data->hw_block); in cmf_copy_block()
318 if (!memcmp(cmb_data->last_block, hw_block, cmb_data->size)) in cmf_copy_block()
321 reference_buf = kzalloc(cmb_data->size, GFP_ATOMIC); in cmf_copy_block()
326 memcpy(cmb_data->last_block, hw_block, cmb_data->size); in cmf_copy_block()
327 memcpy(reference_buf, hw_block, cmb_data->size); in cmf_copy_block()
328 } while (memcmp(cmb_data->last_block, reference_buf, cmb_data->size)); in cmf_copy_block()
329 cmb_data->last_update = get_tod_clock(); in cmf_copy_block()
418 struct cmb_data *cmb_data; in cmf_generic_reset() local
421 cmb_data = cdev->private->cmb; in cmf_generic_reset()
422 if (cmb_data) { in cmf_generic_reset()
423 memset(cmb_data->last_block, 0, cmb_data->size); in cmf_generic_reset()
428 memset(cmbops->align(cmb_data->hw_block), 0, cmb_data->size); in cmf_generic_reset()
429 cmb_data->last_update = 0; in cmf_generic_reset()
504 struct cmb_data *cmb_data) in alloc_cmb_single() argument
523 struct cmb_data *data; in alloc_cmb_single()
536 cmb_data->hw_block = cmb; in alloc_cmb_single()
537 cdev->private->cmb = cmb_data; in alloc_cmb_single()
549 struct cmb_data *cmb_data; in alloc_cmb() local
552 cmb_data = kzalloc(sizeof(struct cmb_data), GFP_KERNEL); in alloc_cmb()
553 if (!cmb_data) in alloc_cmb()
556 cmb_data->last_block = kzalloc(sizeof(struct cmb), GFP_KERNEL); in alloc_cmb()
557 if (!cmb_data->last_block) { in alloc_cmb()
558 kfree(cmb_data); in alloc_cmb()
561 cmb_data->size = sizeof(struct cmb); in alloc_cmb()
590 ret = alloc_cmb_single(cdev, cmb_data); in alloc_cmb()
594 kfree(cmb_data->last_block); in alloc_cmb()
595 kfree(cmb_data); in alloc_cmb()
603 struct cmb_data *cmb_data; in free_cmb() local
615 cmb_data = priv->cmb; in free_cmb()
617 if (cmb_data) in free_cmb()
618 kfree(cmb_data->last_block); in free_cmb()
619 kfree(cmb_data); in free_cmb()
637 struct cmb_data *cmb_data; in set_cmb() local
645 cmb_data = cdev->private->cmb; in set_cmb()
646 offset = mme ? (struct cmb *)cmb_data->hw_block - cmb_area.mem : 0; in set_cmb()
668 cmb = ((struct cmb_data *)cdev->private->cmb)->last_block; in read_cmb()
705 struct cmb_data *cmb_data; in readall_cmb() local
714 cmb_data = cdev->private->cmb; in readall_cmb()
715 if (!cmb_data) { in readall_cmb()
719 if (cmb_data->last_update == 0) { in readall_cmb()
723 cmb = cmb_data->last_block; in readall_cmb()
724 time = cmb_data->last_update - cdev->private->cmb_start_time; in readall_cmb()
825 struct cmb_data *cmb_data; in alloc_cmbe() local
831 cmb_data = kzalloc(sizeof(struct cmb_data), GFP_KERNEL); in alloc_cmbe()
832 if (!cmb_data) { in alloc_cmbe()
836 cmb_data->last_block = kzalloc(sizeof(struct cmbe), GFP_KERNEL); in alloc_cmbe()
837 if (!cmb_data->last_block) { in alloc_cmbe()
841 cmb_data->size = sizeof(struct cmbe); in alloc_cmbe()
848 cmb_data->hw_block = cmbe; in alloc_cmbe()
849 cdev->private->cmb = cmb_data; in alloc_cmbe()
861 if (cmb_data) in alloc_cmbe()
862 kfree(cmb_data->last_block); in alloc_cmbe()
863 kfree(cmb_data); in alloc_cmbe()
870 struct cmb_data *cmb_data; in free_cmbe() local
873 cmb_data = cdev->private->cmb; in free_cmbe()
875 if (cmb_data) in free_cmbe()
876 kfree(cmb_data->last_block); in free_cmbe()
877 kfree(cmb_data); in free_cmbe()
891 struct cmb_data *cmb_data; in set_cmbe() local
899 cmb_data = cdev->private->cmb; in set_cmbe()
900 mba = mme ? (unsigned long) cmbe_align(cmb_data->hw_block) : 0; in set_cmbe()
910 struct cmb_data *cmb_data; in read_cmbe() local
920 cmb_data = cdev->private->cmb; in read_cmbe()
921 if (!cmb_data) { in read_cmbe()
925 cmb = cmb_data->last_block; in read_cmbe()
968 struct cmb_data *cmb_data; in readall_cmbe() local
977 cmb_data = cdev->private->cmb; in readall_cmbe()
978 if (!cmb_data) { in readall_cmbe()
982 if (cmb_data->last_update == 0) { in readall_cmbe()
986 time = cmb_data->last_update - cdev->private->cmb_start_time; in readall_cmbe()
996 cmb = cmb_data->last_block; in readall_cmbe()
1056 struct cmb_data *cmb_data; in cmb_show_avg_sample_interval() local
1061 cmb_data = cdev->private->cmb; in cmb_show_avg_sample_interval()
1063 interval = cmb_data->last_update - in cmb_show_avg_sample_interval()