Lines Matching refs:bp

52 	bp->base.ctx->logger
54 #define DATA_TABLES(table) (bp->master_data_tbl->ListOfDataTables.table)
59 static uint32_t get_src_obj_list(struct bios_parser *bp, ATOM_OBJECT *object,
61 static ATOM_OBJECT *get_bios_object(struct bios_parser *bp,
63 static enum bp_result get_gpio_i2c_info(struct bios_parser *bp,
66 static ATOM_HPD_INT_RECORD *get_hpd_record(struct bios_parser *bp,
72 struct bios_parser *bp,
80 struct bios_parser *bp,
97 struct bios_parser *bp;
99 bp = kzalloc(sizeof(struct bios_parser), GFP_KERNEL);
100 if (!bp)
103 if (bios_parser_construct(bp, init, dce_version))
104 return &bp->base;
106 kfree(bp);
111 static void bios_parser_destruct(struct bios_parser *bp)
113 kfree(bp->base.bios_local_image);
114 kfree(bp->base.integrated_info);
119 struct bios_parser *bp = BP_FROM_DCB(*dcb);
121 if (!bp) {
126 bios_parser_destruct(bp);
128 kfree(bp);
132 static uint8_t get_number_of_objects(struct bios_parser *bp, uint32_t offset)
136 uint32_t object_table_offset = bp->object_info_tbl_offset + offset;
138 table = ((ATOM_OBJECT_TABLE *) bios_get_image(&bp->base,
150 struct bios_parser *bp = BP_FROM_DCB(dcb);
152 return get_number_of_objects(bp,
153 le16_to_cpu(bp->object_info_tbl.v1_1->usConnectorObjectTableOffset));
160 struct bios_parser *bp = BP_FROM_DCB(dcb);
165 uint32_t connector_table_offset = bp->object_info_tbl_offset
166 + le16_to_cpu(bp->object_info_tbl.v1_1->usConnectorObjectTableOffset);
168 ATOM_OBJECT_TABLE *tbl = ((ATOM_OBJECT_TABLE *) bios_get_image(&bp->base,
195 struct bios_parser *bp = BP_FROM_DCB(dcb);
200 object = get_bios_object(bp, object_id);
207 number = get_src_obj_list(bp, object, &id);
225 struct bios_parser *bp = BP_FROM_DCB(dcb);
230 object = get_bios_object(bp, id);
236 + bp->object_info_tbl_offset;
253 if (get_gpio_i2c_info(bp, record, info) == BP_RESULT_OK)
267 struct bios_parser *bp = BP_FROM_DCB(dcb);
274 object = get_bios_object(bp, id);
279 record = get_hpd_record(bp, object);
291 struct bios_parser *bp,
299 + bp->object_info_tbl_offset;
333 struct bios_parser *bp = BP_FROM_DCB(dcb);
342 object = get_bios_object(bp, connector_object_id);
349 if (bios_parser_get_device_tag_record(bp, object, &record)
366 struct bios_parser *bp,
369 struct bios_parser *bp,
372 struct bios_parser *bp,
379 struct bios_parser *bp = BP_FROM_DCB(dcb);
392 result = get_firmware_info_v1_4(bp, info);
402 result = get_firmware_info_v2_1(bp, info);
405 result = get_firmware_info_v2_2(bp, info);
420 struct bios_parser *bp,
464 struct bios_parser *bp,
470 struct bios_parser *bp,
512 else if (get_ss_info_v3_1(bp,
535 else if (get_ss_info_v3_1(bp,
554 struct bios_parser *bp,
597 else if (get_ss_info_v3_1(bp,
620 else if (get_ss_info_v3_1(bp,
648 struct bios_parser *bp,
665 ss_table_header_include = ((ATOM_ASIC_INTERNAL_SS_INFO_V3 *) bios_get_image(&bp->base,
731 struct bios_parser *bp = BP_FROM_DCB(dcb);
733 if (!bp->cmd_tbl.transmitter_control)
736 return bp->cmd_tbl.transmitter_control(bp, cntl);
743 struct bios_parser *bp = BP_FROM_DCB(dcb);
745 if (!bp->cmd_tbl.dig_encoder_control)
748 return bp->cmd_tbl.dig_encoder_control(bp, cntl);
755 struct bios_parser *bp = BP_FROM_DCB(dcb);
757 if (!bp->cmd_tbl.adjust_display_pll)
760 return bp->cmd_tbl.adjust_display_pll(bp, bp_params);
767 struct bios_parser *bp = BP_FROM_DCB(dcb);
769 if (!bp->cmd_tbl.set_pixel_clock)
772 return bp->cmd_tbl.set_pixel_clock(bp, bp_params);
779 struct bios_parser *bp = BP_FROM_DCB(dcb);
781 if (!bp->cmd_tbl.set_dce_clock)
784 return bp->cmd_tbl.set_dce_clock(bp, bp_params);
792 struct bios_parser *bp = BP_FROM_DCB(dcb);
794 if (!bp->cmd_tbl.enable_spread_spectrum_on_ppll)
797 return bp->cmd_tbl.enable_spread_spectrum_on_ppll(
798 bp, bp_params, enable);
806 struct bios_parser *bp = BP_FROM_DCB(dcb);
808 if (!bp->cmd_tbl.set_crtc_timing)
811 return bp->cmd_tbl.set_crtc_timing(bp, bp_params);
818 struct bios_parser *bp = BP_FROM_DCB(dcb);
820 if (!bp->cmd_tbl.program_clock)
823 return bp->cmd_tbl.program_clock(bp, bp_params);
833 struct bios_parser *bp = BP_FROM_DCB(dcb);
835 if (!bp->cmd_tbl.enable_crtc)
838 return bp->cmd_tbl.enable_crtc(bp, id, enable);
846 struct bios_parser *bp = BP_FROM_DCB(dcb);
848 if (!bp->cmd_tbl.enable_disp_power_gating)
851 return bp->cmd_tbl.enable_disp_power_gating(bp, controller_id,
859 struct bios_parser *bp = BP_FROM_DCB(dcb);
863 return (le16_to_cpu(bp->object_info_tbl.v1_1->usDeviceSupport) & mask) != 0;
866 static ATOM_HPD_INT_RECORD *get_hpd_record(struct bios_parser *bp,
878 + bp->object_info_tbl_offset;
901 struct bios_parser *bp,
905 struct bios_parser *bp,
927 struct bios_parser *bp = BP_FROM_DCB(dcb);
940 return get_ss_info_from_ss_info_table(bp, clk_id_ss,
954 return get_ss_info_from_tbl(bp, clk_id_ss,
965 return get_ss_info_v3_1(bp, clk_id_ss, index, ss_info);
978 struct bios_parser *bp,
989 * @bp: pointer to the BIOS parser
995 struct bios_parser *bp,
1003 return get_ss_info_from_ss_info_table(bp, id, ss_info);
1005 return get_ss_info_from_internal_ss_info_tbl_V2_1(bp, id,
1015 * @bp: pointer to the Bios parser
1021 struct bios_parser *bp,
1034 &bp->base,
1083 * @bp: pointer to the Bios parser
1089 struct bios_parser *bp,
1123 if (bios_parser_get_embedded_panel_info(&bp->base, &panel_info)
1173 struct bios_parser *bp,
1176 struct bios_parser *bp,
1183 struct bios_parser *bp = BP_FROM_DCB(dcb);
1200 return get_embedded_panel_info_v1_2(bp, info);
1202 return get_embedded_panel_info_v1_3(bp, info);
1215 struct bios_parser *bp,
1334 struct bios_parser *bp,
1473 struct bios_parser *bp = BP_FROM_DCB(dcb);
1480 object = get_bios_object(bp, object_id);
1485 record = get_encoder_cap_record(bp, object);
1498 * @bp: pointer to the BIOS parser
1504 struct bios_parser *bp,
1516 + bp->object_info_tbl_offset;
1541 struct bios_parser *bp,
1544 struct bios_parser *bp,
1547 struct bios_parser *bp,
1550 struct bios_parser *bp,
1566 struct bios_parser *bp = BP_FROM_DCB(dcb);
1574 return get_ss_entry_number_from_ss_info_tbl(bp, ss_id);
1584 return get_ss_entry_number(bp, ss_id);
1594 bp, ss_id);
1610 * @bp: pointer to the BIOS parser
1616 struct bios_parser *bp,
1649 if (bios_parser_get_embedded_panel_info(&bp->base, &panel_info)
1681 * @bp: pointer to the BIOS parser
1685 static uint32_t get_ss_entry_number(struct bios_parser *bp, uint32_t id)
1688 return get_ss_entry_number_from_ss_info_tbl(bp, id);
1690 return get_ss_entry_number_from_internal_ss_info_tbl_v2_1(bp, id);
1699 * @bp: pointer to the BIOS parser
1704 struct bios_parser *bp,
1716 &bp->base,
1738 * @bp: pointer to the BIOS parser
1743 struct bios_parser *bp,
1755 header_include = ((ATOM_ASIC_INTERNAL_SS_INFO_V3 *) bios_get_image(&bp->base,
1791 struct bios_parser *bp = BP_FROM_DCB(dcb);
1799 header = ((ATOM_GPIO_PIN_LUT *) bios_get_image(&bp->base,
1837 static enum bp_result get_gpio_i2c_info(struct bios_parser *bp,
1958 static ATOM_OBJECT *get_bios_object(struct bios_parser *bp,
1967 offset = le16_to_cpu(bp->object_info_tbl.v1_1->usEncoderObjectTableOffset);
1971 offset = le16_to_cpu(bp->object_info_tbl.v1_1->usConnectorObjectTableOffset);
1975 offset = le16_to_cpu(bp->object_info_tbl.v1_1->usRouterObjectTableOffset);
1979 if (bp->object_info_tbl.revision.minor < 3)
1981 offset = le16_to_cpu(bp->object_info_tbl.v1_3->usMiscObjectTableOffset);
1988 offset += bp->object_info_tbl_offset;
1990 tbl = ((ATOM_OBJECT_TABLE *) bios_get_image(&bp->base, offset,
2004 static uint32_t get_src_obj_list(struct bios_parser *bp, ATOM_OBJECT *object,
2016 + bp->object_info_tbl_offset;
2023 *id_list = (uint16_t *)bios_get_image(&bp->base, offset, *number * sizeof(uint16_t));
2229 * bios_parser *bp - [in]BIOS parser handler to get master data table
2237 struct bios_parser *bp,
2244 bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo);
2379 * bios_parser *bp - [in]BIOS parser handler to get master data table
2387 struct bios_parser *bp,
2394 bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo);
2516 * bios_parser *bp - [in]BIOS parser handler to get master data table
2524 struct bios_parser *bp,
2532 if (bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo) {
2534 bp->master_data_tbl->ListOfDataTables.IntegratedSystemInfo);
2541 result = get_integrated_info_v8(bp, info);
2544 result = get_integrated_info_v9(bp, info);
2577 struct bios_parser *bp = BP_FROM_DCB(dcb);
2587 if (construct_integrated_info(bp, info) == BP_RESULT_OK)
2601 struct bios_parser *bp;
2606 bp = BP_FROM_DCB(dcb);
2703 struct bios_parser *bp;
2709 bp = BP_FROM_DCB(dcb);
2717 genericTableOffset = bp->object_info_tbl_offset +
2718 bp->object_info_tbl.v1_3->usMiscObjectTableOffset;
2719 object_table = ((ATOM_OBJECT_TABLE *) bios_get_image(&bp->base,
2733 bp->object_info_tbl_offset;
2748 struct bios_parser *bp;
2757 bp = BP_FROM_DCB(dcb);
2851 struct bios_parser *bp,
2866 bp->base.funcs = &vbios_funcs;
2867 bp->base.bios = init->bios;
2868 bp->base.bios_size = bp->base.bios[BIOS_IMAGE_SIZE_OFFSET] * BIOS_IMAGE_SIZE_UNIT;
2870 bp->base.ctx = init->ctx;
2871 bp->base.bios_local_image = NULL;
2888 bp->master_data_tbl =
2892 if (!bp->master_data_tbl)
2895 bp->object_info_tbl_offset = DATA_TABLES(Object_Header);
2897 if (!bp->object_info_tbl_offset)
2901 GET_IMAGE(ATOM_OBJECT_HEADER, bp->object_info_tbl_offset);
2907 &bp->object_info_tbl.revision);
2909 if (bp->object_info_tbl.revision.major == 1
2910 && bp->object_info_tbl.revision.minor >= 3) {
2914 bp->object_info_tbl_offset);
2918 bp->object_info_tbl.v1_3 = tbl_v3;
2919 } else if (bp->object_info_tbl.revision.major == 1
2920 && bp->object_info_tbl.revision.minor >= 1)
2921 bp->object_info_tbl.v1_1 = object_info_tbl;
2925 dal_bios_parser_init_cmd_tbl(bp);
2926 dal_bios_parser_init_cmd_tbl_helper(&bp->cmd_helper, dce_version);
2928 bp->base.integrated_info = bios_parser_create_integrated_info(&bp->base);
2929 bp->base.fw_info_valid = bios_parser_get_firmware_info(&bp->base, &bp->base.fw_info) == BP_RESULT_OK;