return -1;
 
        dpm_table = &(data->dpm_table.gfx_table);
-       ucount = (dpm_table->count > VG12_PSUEDO_NUM_GFXCLK_DPM_LEVELS) ?
-               VG12_PSUEDO_NUM_GFXCLK_DPM_LEVELS : dpm_table->count;
+       ucount = (dpm_table->count > MAX_NUM_CLOCKS) ?
+               MAX_NUM_CLOCKS : dpm_table->count;
 
        for (i = 0; i < ucount; i++) {
                clocks->data[i].clocks_in_khz =
                return -1;
 
        dpm_table = &(data->dpm_table.mem_table);
-       ucount = (dpm_table->count > VG12_PSUEDO_NUM_UCLK_DPM_LEVELS) ?
-               VG12_PSUEDO_NUM_UCLK_DPM_LEVELS : dpm_table->count;
+       ucount = (dpm_table->count > MAX_NUM_CLOCKS) ?
+               MAX_NUM_CLOCKS : dpm_table->count;
 
        for (i = 0; i < ucount; i++) {
                clocks->data[i].clocks_in_khz =
+                       data->mclk_latency_table.entries[i].frequency =
                        dpm_table->dpm_levels[i].value * 100;
 
                clocks->data[i].latency_in_us =
 
 
        dpm_table = &(data->dpm_table.dcef_table);
-       ucount = (dpm_table->count > VG12_PSUEDO_NUM_DCEFCLK_DPM_LEVELS) ?
-               VG12_PSUEDO_NUM_DCEFCLK_DPM_LEVELS : dpm_table->count;
+       ucount = (dpm_table->count > MAX_NUM_CLOCKS) ?
+               MAX_NUM_CLOCKS : dpm_table->count;
 
        for (i = 0; i < ucount; i++) {
                clocks->data[i].clocks_in_khz =
 
 
        dpm_table = &(data->dpm_table.soc_table);
-       ucount = (dpm_table->count > VG12_PSUEDO_NUM_SOCCLK_DPM_LEVELS) ?
-               VG12_PSUEDO_NUM_SOCCLK_DPM_LEVELS : dpm_table->count;
+       ucount = (dpm_table->count > MAX_NUM_CLOCKS) ?
+               MAX_NUM_CLOCKS : dpm_table->count;
 
        for (i = 0; i < ucount; i++) {
                clocks->data[i].clocks_in_khz =