Ignore:
Timestamp:
Sep 26, 2021, 6:18:40 PM (4 years ago)
Author:
David Azarewicz
Message:

Merge changes from next branch.

Location:
GPL/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • GPL/trunk

  • GPL/trunk/alsa-kernel/pci/rme96.c

    r695 r703  
    667667
    668668        if (!(rme96->wcreg & RME96_WCR_MASTER) &&
    669             snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG &&
    670             (rate = snd_rme96_capture_getrate(rme96, &dummy)) > 0)
    671         {
    672                 /* slave clock */
    673                 return rate;
    674         }
     669            snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG) {
     670                rate = snd_rme96_capture_getrate(rme96, &dummy);
     671                if (rate > 0) {
     672                        /* slave clock */
     673                        return rate;
     674                }
     675        }
     676
    675677        rate = ((rme96->wcreg >> RME96_WCR_BITPOS_FREQ_0) & 1) +
    676678                (((rme96->wcreg >> RME96_WCR_BITPOS_FREQ_1) & 1) << 1);
     
    985987
    986988        spin_lock_irq(&rme96->lock);
     989        rate = 0;
    987990        if (!(rme96->wcreg & RME96_WCR_MASTER) &&
    988             snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG &&
    989             (rate = snd_rme96_capture_getrate(rme96, &dummy)) > 0)
    990         {
     991            snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG)
     992                rate = snd_rme96_capture_getrate(rme96, &dummy);
     993        if (rate > 0) {
    991994                /* slave clock */
    992995                if ((int)params_rate(params) != rate) {
     
    10471050
    10481051        spin_lock_irq(&rme96->lock);
    1049         if ((err = snd_rme96_capture_setformat(rme96, params_format(params))) < 0) {
     1052        err = snd_rme96_capture_setformat(rme96, params_format(params));
     1053        if (err < 0) {
    10501054                spin_unlock_irq(&rme96->lock);
    10511055                return err;
    10521056        }
    10531057        if (snd_rme96_getinputtype(rme96) == RME96_INPUT_ANALOG) {
    1054                 if ((err = snd_rme96_capture_analog_setrate(rme96,
    1055                                                             params_rate(params))) < 0)
    1056                 {
     1058                err = snd_rme96_capture_analog_setrate(rme96, params_rate(params));
     1059                if (err < 0) {
    10571060                        spin_unlock_irq(&rme96->lock);
    10581061                        return err;
    10591062                }
    1060         } else if ((rate = snd_rme96_capture_getrate(rme96, &isadat)) > 0) {
    1061                 if ((int)params_rate(params) != rate) {
    1062                         spin_unlock_irq(&rme96->lock);
    1063                         return -EIO;                   
    1064                 }
    1065                 if ((isadat && runtime->hw.channels_min == 2) ||
    1066                     (!isadat && runtime->hw.channels_min == 8))
    1067                 {
    1068                         spin_unlock_irq(&rme96->lock);
    1069                         return -EIO;
    1070                 }
     1063        } else {
     1064                rate = snd_rme96_capture_getrate(rme96, &isadat);
     1065                if (rate > 0) {
     1066                        if ((int)params_rate(params) != rate) {
     1067                                spin_unlock_irq(&rme96->lock);
     1068                                return -EIO;
     1069                        }
     1070                        if ((isadat && runtime->hw.channels_min == 2) ||
     1071                            (!isadat && runtime->hw.channels_min == 8)) {
     1072                                spin_unlock_irq(&rme96->lock);
     1073                                return -EIO;
     1074                        }
     1075                }
    10711076        }
    10721077        snd_rme96_setframelog(rme96, params_channels(params), 0);
     
    11611166        snd_pcm_hw_constraint_single(runtime, SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
    11621167                                     RME96_BUFFER_SIZE);
    1163         if ((size = rme96->playback_periodsize) != 0 ||
    1164             (size = rme96->capture_periodsize) != 0)
     1168        size = rme96->playback_periodsize;
     1169        if (!size)
     1170                size = rme96->capture_periodsize;
     1171        if (size)
    11651172                snd_pcm_hw_constraint_single(runtime,
    11661173                                             SNDRV_PCM_HW_PARAM_PERIOD_BYTES,
     
    11921199        runtime->hw = snd_rme96_playback_spdif_info;
    11931200        if (!(rme96->wcreg & RME96_WCR_MASTER) &&
    1194             snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG &&
    1195             (rate = snd_rme96_capture_getrate(rme96, &dummy)) > 0)
    1196         {
    1197                 /* slave clock */
    1198                 runtime->hw.rates = snd_pcm_rate_to_rate_bit(rate);
    1199                 runtime->hw.rate_min = rate;
    1200                 runtime->hw.rate_max = rate;
     1201            snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG) {
     1202                rate = snd_rme96_capture_getrate(rme96, &dummy);
     1203                if (rate > 0) {
     1204                        /* slave clock */
     1205                        runtime->hw.rates = snd_pcm_rate_to_rate_bit(rate);
     1206                        runtime->hw.rate_min = rate;
     1207                        runtime->hw.rate_max = rate;
     1208                }
    12011209        }       
    12021210        rme96_set_buffer_size_constraint(rme96, runtime);
     
    12181226        snd_pcm_set_sync(substream);
    12191227        runtime->hw = snd_rme96_capture_spdif_info;
    1220         if (snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG &&
    1221             (rate = snd_rme96_capture_getrate(rme96, &isadat)) > 0)
    1222         {
    1223                 if (isadat) {
    1224                         return -EIO;
    1225                 }
    1226                 runtime->hw.rates = snd_pcm_rate_to_rate_bit(rate);
    1227                 runtime->hw.rate_min = rate;
    1228                 runtime->hw.rate_max = rate;
    1229         }
     1228        if (snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG) {
     1229                rate = snd_rme96_capture_getrate(rme96, &isadat);
     1230                if (rate > 0) {
     1231                        if (isadat)
     1232                                return -EIO;
     1233                        runtime->hw.rates = snd_pcm_rate_to_rate_bit(rate);
     1234                        runtime->hw.rate_min = rate;
     1235                        runtime->hw.rate_max = rate;
     1236                }
     1237        }
    12301238       
    12311239        spin_lock_irq(&rme96->lock);
     
    12611269        runtime->hw = snd_rme96_playback_adat_info;
    12621270        if (!(rme96->wcreg & RME96_WCR_MASTER) &&
    1263             snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG &&
    1264             (rate = snd_rme96_capture_getrate(rme96, &dummy)) > 0)
    1265         {
    1266                 /* slave clock */
    1267                 runtime->hw.rates = snd_pcm_rate_to_rate_bit(rate);
    1268                 runtime->hw.rate_min = rate;
    1269                 runtime->hw.rate_max = rate;
    1270         }       
     1271            snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG) {
     1272                rate = snd_rme96_capture_getrate(rme96, &dummy);
     1273                if (rate > 0) {
     1274                        /* slave clock */
     1275                        runtime->hw.rates = snd_pcm_rate_to_rate_bit(rate);
     1276                        runtime->hw.rate_min = rate;
     1277                        runtime->hw.rate_max = rate;
     1278                }
     1279        }
     1280
    12711281        rme96_set_buffer_size_constraint(rme96, runtime);
    12721282        return 0;
     
    12871297                return -EIO;
    12881298        }
    1289         if ((rate = snd_rme96_capture_getrate(rme96, &isadat)) > 0) {
     1299        rate = snd_rme96_capture_getrate(rme96, &isadat);
     1300        if (rate > 0) {
    12901301                if (!isadat) {
    12911302                        return -EIO;
     
    16041615        spin_lock_init(&rme96->lock);
    16051616
    1606         if ((err = pci_enable_device(pci)) < 0)
     1617        err = pci_enable_device(pci);
     1618        if (err < 0)
    16071619                return err;
    16081620
    1609         if ((err = pci_request_regions(pci, "RME96")) < 0)
     1621        err = pci_request_regions(pci, "RME96");
     1622        if (err < 0)
    16101623                return err;
    16111624        rme96->port = pci_resource_start(rme96->pci, 0);
     
    16311644       
    16321645        /* set up ALSA pcm device for S/PDIF */
    1633         if ((err = snd_pcm_new(rme96->card, "Digi96 IEC958", 0,
    1634                                1, 1, &rme96->spdif_pcm)) < 0)
    1635         {
     1646        err = snd_pcm_new(rme96->card, "Digi96 IEC958", 0,
     1647                          1, 1, &rme96->spdif_pcm);
     1648        if (err < 0)
    16361649                return err;
    1637         }
     1650
    16381651        rme96->spdif_pcm->private_data = rme96;
    16391652        rme96->spdif_pcm->private_free = snd_rme96_free_spdif_pcm;
     
    16491662                rme96->adat_pcm = NULL;
    16501663        } else {
    1651                 if ((err = snd_pcm_new(rme96->card, "Digi96 ADAT", 1,
    1652                                        1, 1, &rme96->adat_pcm)) < 0)
    1653                 {
     1664                err = snd_pcm_new(rme96->card, "Digi96 ADAT", 1,
     1665                                  1, 1, &rme96->adat_pcm);
     1666                if (err < 0)
    16541667                        return err;
    1655                 }               
    16561668                rme96->adat_pcm->private_data = rme96;
    16571669                rme96->adat_pcm->private_free = snd_rme96_free_adat_pcm;
     
    17021714       
    17031715        /* init switch interface */
    1704         if ((err = snd_rme96_create_switches(rme96->card, rme96)) < 0) {
     1716        err = snd_rme96_create_switches(rme96->card, rme96);
     1717        if (err < 0)
    17051718                return err;
    1706         }
    17071719
    17081720        /* init proc interface */
     
    23372349
    23382350        for (idx = 0; idx < 7; idx++) {
    2339                 if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_rme96_controls[idx], rme96))) < 0)
     2351                kctl = snd_ctl_new1(&snd_rme96_controls[idx], rme96);
     2352                err = snd_ctl_add(card, kctl);
     2353                if (err < 0)
    23402354                        return err;
    23412355                if (idx == 1)   /* IEC958 (S/PDIF) Stream */
     
    23442358
    23452359        if (RME96_HAS_ANALOG_OUT(rme96)) {
    2346                 for (idx = 7; idx < 10; idx++)
    2347                         if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_rme96_controls[idx], rme96))) < 0)
     2360                for (idx = 7; idx < 10; idx++) {
     2361                        err = snd_ctl_add(card, snd_ctl_new1(&snd_rme96_controls[idx], rme96));
     2362                        if (err < 0)
    23482363                                return err;
     2364                }
    23492365        }
    23502366       
Note: See TracChangeset for help on using the changeset viewer.