Lines Matching defs:drv_data
522 static struct llcc_drv_data *drv_data = (void *) -EPROBE_DEFER;
537 if (IS_ERR(drv_data))
538 return ERR_CAST(drv_data);
540 cfg = drv_data->cfg;
541 sz = drv_data->cfg_size;
581 if (IS_ERR(drv_data))
582 return PTR_ERR(drv_data);
590 ret = regmap_write(drv_data->bcast_regmap, act_ctrl_reg,
597 ret = regmap_write(drv_data->bcast_regmap, act_ctrl_reg,
602 if (drv_data->version >= LLCC_VERSION_4_1_0_0) {
603 ret = regmap_read_poll_timeout(drv_data->bcast_regmap, status_reg,
610 ret = regmap_read_poll_timeout(drv_data->bcast_regmap, status_reg,
616 if (drv_data->version >= LLCC_VERSION_4_1_0_0)
617 ret = regmap_write(drv_data->bcast_regmap, act_clear_reg,
635 if (IS_ERR(drv_data))
636 return PTR_ERR(drv_data);
641 mutex_lock(&drv_data->lock);
642 if (test_bit(desc->slice_id, drv_data->bitmap)) {
643 mutex_unlock(&drv_data->lock);
652 mutex_unlock(&drv_data->lock);
656 __set_bit(desc->slice_id, drv_data->bitmap);
657 mutex_unlock(&drv_data->lock);
675 if (IS_ERR(drv_data))
676 return PTR_ERR(drv_data);
681 mutex_lock(&drv_data->lock);
682 if (!test_bit(desc->slice_id, drv_data->bitmap)) {
683 mutex_unlock(&drv_data->lock);
691 mutex_unlock(&drv_data->lock);
695 __clear_bit(desc->slice_id, drv_data->bitmap);
696 mutex_unlock(&drv_data->lock);
755 max_cap_cacheline = max_cap_cacheline / drv_data->num_banks;
761 ret = regmap_write(drv_data->bcast_regmap, attr1_cfg, attr1_val);
765 if (drv_data->version >= LLCC_VERSION_4_1_0_0) {
776 ret = regmap_write(drv_data->bcast_regmap, attr0_cfg, attr0_val);
780 if (drv_data->version >= LLCC_VERSION_4_1_0_0) {
781 ret = regmap_write(drv_data->bcast_regmap, attr2_cfg, attr2_val);
790 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_SCID_DIS_CAP_ALLOC,
795 if (drv_data->version < LLCC_VERSION_4_1_0_0) {
797 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_PCB_ACT,
804 if (drv_data->version >= LLCC_VERSION_2_0_0_0) {
808 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_WRSC_EN,
814 if (drv_data->version >= LLCC_VERSION_2_1_0_0) {
818 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_WRSC_CACHEABLE_EN,
824 if (drv_data->version >= LLCC_VERSION_4_1_0_0) {
835 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_ALGO_CFG1,
841 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_ALGO_CFG2,
847 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_ALGO_CFG3,
853 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_ALGO_CFG4,
859 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_ALGO_CFG5,
865 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_ALGO_CFG6,
871 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_ALGO_CFG7,
877 ret = regmap_update_bits(drv_data->bcast_regmap, LLCC_TRP_ALGO_CFG8,
899 sz = drv_data->cfg_size;
900 llcc_table = drv_data->cfg;
914 drv_data = ERR_PTR(-ENODEV);
949 if (!IS_ERR(drv_data))
952 drv_data = devm_kzalloc(dev, sizeof(*drv_data), GFP_KERNEL);
953 if (!drv_data) {
973 drv_data->num_banks = num_banks;
975 drv_data->regmaps = devm_kcalloc(dev, num_banks, sizeof(*drv_data->regmaps), GFP_KERNEL);
976 if (!drv_data->regmaps) {
981 drv_data->regmaps[0] = regmap;
987 drv_data->regmaps[i] = qcom_llcc_init_mmio(pdev, i, base);
988 if (IS_ERR(drv_data->regmaps[i])) {
989 ret = PTR_ERR(drv_data->regmaps[i]);
997 drv_data->bcast_regmap = qcom_llcc_init_mmio(pdev, i, "llcc_broadcast_base");
998 if (IS_ERR(drv_data->bcast_regmap)) {
999 ret = PTR_ERR(drv_data->bcast_regmap);
1004 ret = regmap_read(drv_data->bcast_regmap, cfg->reg_offset[LLCC_COMMON_HW_INFO],
1009 drv_data->version = version;
1015 if (llcc_cfg[i].slice_id > drv_data->max_slices)
1016 drv_data->max_slices = llcc_cfg[i].slice_id;
1018 drv_data->bitmap = devm_bitmap_zalloc(dev, drv_data->max_slices,
1020 if (!drv_data->bitmap) {
1025 drv_data->cfg = llcc_cfg;
1026 drv_data->cfg_size = sz;
1027 drv_data->edac_reg_offset = cfg->edac_reg_offset;
1028 mutex_init(&drv_data->lock);
1029 platform_set_drvdata(pdev, drv_data);
1035 drv_data->ecc_irq = platform_get_irq_optional(pdev, 0);
1045 "qcom_llcc_edac", -1, drv_data,
1046 sizeof(*drv_data));
1053 drv_data = ERR_PTR(-ENODEV);